/* /Components/Layout/AccessDenied.razor.rz.scp.css */
.access-denied[b-ah8jlxor6t] {
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    padding: 28px 32px;
    max-width: 560px;
}

.access-denied-title[b-ah8jlxor6t] {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
    color: #1A0A0A;
    margin: 0 0 10px 0;
}

.access-denied-text[b-ah8jlxor6t] {
    color: #7A6D5E;
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 18px 0;
}

.access-denied-link[b-ah8jlxor6t] {
    color: #B71C1C;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.access-denied-link:hover[b-ah8jlxor6t] {
    text-decoration: underline;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-3mfgic5hn3] {
    display: flex;
    flex-direction: row;
    min-height: 100vh;
}

main[b-3mfgic5hn3] {
    flex: 1;
    overflow-y: auto;
    padding: 32px 36px;
}

#blazor-error-ui[b-3mfgic5hn3] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-3mfgic5hn3] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/MarketingLayout.razor.rz.scp.css */
/* Public site chrome. Colours come from the app's tokens in wwwroot/app.css. */

.marketing-shell[b-ltcykwitp5] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--surface);
}

/* ---------- header ---------- */

.site-header[b-ltcykwitp5] {
    position: sticky;
    top: 0;
    z-index: 20;
    background-color: rgba(255, 253, 248, 0.92);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--border);
}

.header-inner[b-ltcykwitp5] {
    max-width: 1120px;
    margin: 0 auto;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.brand[b-ltcykwitp5] {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    margin-right: auto;
}

.brand-icon[b-ltcykwitp5] {
    width: 34px;
    height: 34px;
    background-color: var(--accent);
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.brand-icon img[b-ltcykwitp5] {
    width: 21px;
    height: 21px;
    object-fit: contain;
}

.brand-name[b-ltcykwitp5] {
    font-size: 19px;
    font-weight: 700;
    color: var(--text);
    white-space: nowrap;
}

/* Matches the wordmark on the in-app About page: "Pocket" gold, "Move" near-black. */
.brand-pocket[b-ltcykwitp5] {
    color: var(--gold);
}

.site-nav[b-ltcykwitp5] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nav-link[b-ltcykwitp5] {
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    color: var(--muted);
    text-decoration: none;
    transition: color 0.15s, background-color 0.15s;
}

.nav-link:hover[b-ltcykwitp5] {
    color: var(--text);
    background-color: var(--gold-light);
}

.nav-cta[b-ltcykwitp5] {
    margin-left: 10px;
    padding: 9px 20px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background-color: var(--accent);
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.15s;
}

.nav-cta:hover[b-ltcykwitp5] {
    background-color: var(--accent-dark);
    color: #fff;
}

/* ---------- mobile menu (CSS only — these pages are static SSR) ---------- */

.nav-toggle[b-ltcykwitp5] {
    display: none;
}

.nav-toggle-btn[b-ltcykwitp5] {
    display: none;
    color: var(--text);
    cursor: pointer;
    padding: 4px;
    margin: 0;
}

/* ---------- main ---------- */

.site-main[b-ltcykwitp5] {
    flex: 1;
}

/* Primitives shared by every marketing page. `::deep` reaches into the @Body content,
   which is a different component and so would not match a plain scoped selector.
   Only things that must look identical on all four pages live here — page-specific
   layout stays in each page's own .razor.css, as elsewhere in this project. */

/* Named `wrap`, not `container` — Bootstrap is loaded globally and owns that class. */
.site-main[b-ltcykwitp5]  .wrap {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 24px;
}

.site-main[b-ltcykwitp5]  .section {
    padding: 72px 0;
}

.site-main[b-ltcykwitp5]  .section-tight {
    padding: 48px 0;
}

/* Opt-in classes rather than bare `h1`/`h2` element rules: `::deep` compiles to
   `.site-main[b-xxx] h2`, which out-specifies a plain class in a page's own scoped
   CSS, so element-level base styles here would be unoverridable downstream. A page
   that wants different headings simply leaves the class off. */

.site-main[b-ltcykwitp5]  .title-xl {
    font-size: 44px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--text);
    margin: 0 0 18px;
}

.site-main[b-ltcykwitp5]  .title-lg {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--text);
    margin: 0 0 14px;
}

.site-main[b-ltcykwitp5]  .lead {
    font-size: 18px;
    line-height: 1.65;
    color: var(--muted);
    margin: 0 0 28px;
}

.site-main[b-ltcykwitp5]  .eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    background-color: var(--accent-light);
    border-radius: 99px;
    padding: 5px 12px;
    margin-bottom: 18px;
}

.site-main[b-ltcykwitp5]  .btn-cta,
.site-main[b-ltcykwitp5]  .btn-ghost {
    display: inline-block;
    padding: 13px 28px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.15s, border-color 0.15s;
}

.site-main[b-ltcykwitp5]  .btn-cta {
    color: #fff;
    background-color: var(--accent);
}

.site-main[b-ltcykwitp5]  .btn-cta:hover {
    background-color: var(--accent-dark);
    color: #fff;
}

.site-main[b-ltcykwitp5]  .btn-ghost {
    color: var(--text);
    background-color: transparent;
    border: 1px solid var(--border);
}

.site-main[b-ltcykwitp5]  .btn-ghost:hover {
    border-color: var(--accent);
    color: var(--accent);
}

/* Page intro band and long-form body copy, shared by About / Cost / Contact. */

.site-main[b-ltcykwitp5]  .page-head {
    background: linear-gradient(180deg, var(--gold-light) 0%, var(--surface) 100%);
    border-bottom: 1px solid var(--border);
}

.site-main[b-ltcykwitp5]  .page-head .lead {
    max-width: 720px;
    margin-bottom: 0;
}

.site-main[b-ltcykwitp5]  .prose {
    max-width: 760px;
}

.site-main[b-ltcykwitp5]  .prose p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--muted);
    margin: 0 0 30px;
}

.site-main[b-ltcykwitp5]  .prose strong {
    color: var(--text);
    font-weight: 600;
}

.site-main[b-ltcykwitp5]  .prose a {
    color: var(--accent);
}

.site-main[b-ltcykwitp5]  .prose .title-lg {
    font-size: 22px;
    margin-top: 8px;
}

/* Closing call-to-action band, shared by every page. */

.site-main[b-ltcykwitp5]  .cta-band {
    background-color: var(--sidebar);
}

.site-main[b-ltcykwitp5]  .cta-inner {
    padding-top: 52px;
    padding-bottom: 52px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.site-main[b-ltcykwitp5]  .cta-title {
    font-size: 27px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 6px;
}

.site-main[b-ltcykwitp5]  .cta-sub {
    font-size: 16px;
    color: var(--sidebar-text);
    margin: 0;
}

@media (max-width: 760px) {

    .site-main[b-ltcykwitp5]  .title-xl {
        font-size: 33px;
    }

    .site-main[b-ltcykwitp5]  .cta-title {
        font-size: 23px;
    }

    .site-main[b-ltcykwitp5]  .title-lg {
        font-size: 25px;
    }

    .site-main[b-ltcykwitp5]  .section {
        padding: 48px 0;
    }
}

/* ---------- footer ---------- */

/* No margin-top: every page ends in a padded section or the dark CTA band, and a
   margin here leaves a stripe of page background between the two. */
.site-footer[b-ltcykwitp5] {
    border-top: 1px solid var(--border);
    background-color: var(--card);
}

.footer-inner[b-ltcykwitp5] {
    max-width: 1120px;
    margin: 0 auto;
    padding: 28px 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 14px;
    color: var(--muted);
}

.footer-links[b-ltcykwitp5] {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.footer-links a[b-ltcykwitp5] {
    color: var(--muted);
    text-decoration: none;
}

.footer-links a:hover[b-ltcykwitp5] {
    color: var(--accent);
    text-decoration: underline;
}

/* ---------- responsive ---------- */

@media (max-width: 760px) {

    .nav-toggle-btn[b-ltcykwitp5] {
        display: flex;
        align-items: center;
        order: 3;
    }

    /* Collapsed by default; the checkbox above it in the DOM flips it open. */
    .site-nav[b-ltcykwitp5] {
        display: none;
        order: 4;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        padding-top: 12px;
    }

    .nav-toggle:checked ~ .site-nav[b-ltcykwitp5] {
        display: flex;
    }

    .header-inner[b-ltcykwitp5] {
        flex-wrap: wrap;
        padding: 12px 18px;
    }

    .nav-link[b-ltcykwitp5] {
        padding: 11px 12px;
    }

    .nav-cta[b-ltcykwitp5] {
        margin-left: 0;
        margin-top: 8px;
        text-align: center;
    }

    .footer-inner[b-ltcykwitp5] {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.sidebar[b-h29f6atrkh] {
    width: 216px;
    min-width: 216px;
    height: 100vh;
    position: sticky;
    top: 0;
    background-color: #1A0A0A;
    display: flex;
    flex-direction: column;
    transition: width 0.2s ease, min-width 0.2s ease;
    overflow: hidden;
}

.sidebar-collapsed[b-h29f6atrkh] {
    width: 44px;
    min-width: 44px;
}

.sidebar-toggle[b-h29f6atrkh] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 12px 0;
    border: none;
    background: none;
    color: #A89882;
    cursor: pointer;
    transition: color 0.15s, background-color 0.15s;
    flex-shrink: 0;
}

.sidebar-toggle:hover[b-h29f6atrkh] {
    background-color: rgba(255, 255, 255, 0.06);
    color: white;
}

.logo-area[b-h29f6atrkh] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 16px 16px;
    text-decoration: none;
    transition: opacity 0.15s;
}

.logo-area:hover[b-h29f6atrkh] {
    opacity: 0.8;
}

.logo-icon[b-h29f6atrkh] {
    width: 36px;
    height: 36px;
    background-color: #B71C1C;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.logo-icon img[b-h29f6atrkh] {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.wordmark[b-h29f6atrkh] {
    font-size: 15px;
    font-weight: 700;
    color: white;
    white-space: nowrap;
}

.wordmark-pocket[b-h29f6atrkh] {
    color: #D4A017;
}

.sidebar-nav[b-h29f6atrkh] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 8px;
    gap: 2px;
}

.nav-item[b-h29f6atrkh] {
    display: flex;
    align-items: center;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #A89882;
    text-decoration: none;
    position: relative;
    transition: background-color 0.15s, color 0.15s;
}

.nav-item:hover[b-h29f6atrkh] {
    background-color: rgba(255, 255, 255, 0.06);
    color: white;
    text-decoration: none;
}

.nav-item.active[b-h29f6atrkh] {
    background-color: rgba(212, 160, 23, 0.15);
    color: white;
}

.nav-item.active[b-h29f6atrkh]::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 16px;
    background-color: #D4A017;
    border-radius: 2px 0 0 2px;
}

.nav-divider[b-h29f6atrkh] {
    height: 1px;
    background-color: rgba(255, 255, 255, 0.08);
    margin: 8px 0;
}

.practitioner-card[b-h29f6atrkh] {
    margin: 10px;
    background-color: rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.practitioner-avatar[b-h29f6atrkh] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #B71C1C;
    color: white;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.practitioner-name[b-h29f6atrkh] {
    font-size: 13px;
    font-weight: 600;
    color: white;
}

.practitioner-info[b-h29f6atrkh] {
    min-width: 0;
}

.role-form[b-h29f6atrkh] {
    margin: 2px 0 0;
}

/* Sized to match the plain role text this replaced, so the card keeps its height. */
.role-select[b-h29f6atrkh] {
    font-size: 11px;
    font-family: inherit;
    color: #A89882;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 5px;
    padding: 1px 4px;
    cursor: pointer;
}

.role-select option[b-h29f6atrkh] {
    color: #1A0A0A;
    background-color: #FFFFFF;
}

/* A practitioner cannot switch, so the control reads as a label rather than a dropdown. */
.role-select:disabled[b-h29f6atrkh] {
    border-color: transparent;
    padding-left: 0;
    cursor: default;
    opacity: 1;
    appearance: none;
}

.logout-form[b-h29f6atrkh] {
    margin: 0 10px 12px;
}

.logout-btn[b-h29f6atrkh] {
    width: 100%;
    padding: 7px 0;
    border: none;
    border-radius: 8px;
    background: none;
    font-size: 13px;
    font-weight: 500;
    color: #A89882;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
}

.logout-btn:hover[b-h29f6atrkh] {
    background-color: rgba(255, 255, 255, 0.06);
    color: white;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-v9or0biesk],
.components-reconnect-repeated-attempt-visible[b-v9or0biesk],
.components-reconnect-failed-visible[b-v9or0biesk],
.components-pause-visible[b-v9or0biesk],
.components-resume-failed-visible[b-v9or0biesk],
.components-rejoining-animation[b-v9or0biesk] {
    display: none;
}

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


#components-reconnect-modal[b-v9or0biesk] {
    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-v9or0biesk 0.5s both;
    &[open]

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

}

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

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

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

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

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

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

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

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

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

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

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

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

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

@keyframes components-rejoining-animation-b-v9or0biesk {
    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/Pages/About.razor.rz.scp.css */
.about-stack[b-cbm8xinldt] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 520px;
}

.about-card[b-cbm8xinldt] {
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

/* ── Identity card ── */
.identity-row[b-cbm8xinldt] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 20px 14px;
}

.app-logo[b-cbm8xinldt] {
    width: 56px;
    height: 56px;
    background-color: #B71C1C;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.app-logo img[b-cbm8xinldt] {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.wordmark-text[b-cbm8xinldt] {
    font-size: 20px;
    font-weight: 700;
    color: #1A0A0A;
    line-height: 1.2;
}

.wordmark-gold[b-cbm8xinldt] {
    color: #D4A017;
}

.tagline[b-cbm8xinldt] {
    font-size: 13px;
    color: #7A6D5E;
    margin-top: 3px;
}

.version-row[b-cbm8xinldt] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px 20px;
    border-top: 1px solid #EDE8DF;
}

.version-badge[b-cbm8xinldt] {
    background: #FFEBEE;
    color: #B71C1C;
    border-radius: 99px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 700;
}

.release-date[b-cbm8xinldt] {
    font-size: 13px;
    color: #7A6D5E;
}

/* ── Contact card ── */
.card-section-header[b-cbm8xinldt] {
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 700;
    color: #7A6D5E;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #FFFBF3;
    border-bottom: 1px solid #EDE8DF;
}

.contact-row[b-cbm8xinldt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid #EDE8DF;
}

.contact-row.no-border[b-cbm8xinldt] {
    border-bottom: none;
}

.contact-label[b-cbm8xinldt] {
    font-size: 13px;
    color: #7A6D5E;
    font-weight: 500;
}

.contact-value[b-cbm8xinldt] {
    font-size: 13px;
    color: #1A0A0A;
    font-weight: 500;
}

.contact-value.link[b-cbm8xinldt] {
    color: #B71C1C;
    text-decoration: none;
}

.contact-value.link:hover[b-cbm8xinldt] {
    text-decoration: underline;
}

/* ── Legal card ── */
.legal-card[b-cbm8xinldt] {
    padding: 16px;
}

.legal-text[b-cbm8xinldt] {
    font-size: 12px;
    color: #7A6D5E;
    margin: 0 0 6px;
    line-height: 1.5;
}

.legal-text:last-child[b-cbm8xinldt] {
    margin-bottom: 0;
}
/* /Components/Pages/Admins.razor.rz.scp.css */
.page-header[b-lxgejzw009] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 16px;
}

.page-title[b-lxgejzw009] {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
    color: #1A0A0A;
    margin: 0;
}

.header-center[b-lxgejzw009] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.show-inactive-toggle[b-lxgejzw009] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #7A6D5E;
    cursor: pointer;
    white-space: nowrap;
}

.show-inactive-toggle input[type="checkbox"][b-lxgejzw009] {
    cursor: pointer;
    accent-color: #D4A017;
}

.search-box[b-lxgejzw009] {
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-lxgejzw009] {
    position: absolute;
    left: 10px;
    color: #7A6D5E;
    pointer-events: none;
}

.search-input[b-lxgejzw009] {
    padding: 8px 12px 8px 34px;
    width: 280px;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    font-size: 14px;
    font-family: inherit;
    background: #FFFFFF;
    color: #1A0A0A;
    outline: none;
    transition: border-color 0.15s;
}

.search-input:focus[b-lxgejzw009] {
    border-color: #D4A017;
}

.btn-new[b-lxgejzw009] {
    background-color: #B71C1C;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s;
}

.btn-new:hover[b-lxgejzw009] {
    background-color: #9b1515;
}

.table-wrap[b-lxgejzw009] {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.admins-table[b-lxgejzw009] {
    width: 100%;
    border-collapse: collapse;
}

.admins-table thead tr[b-lxgejzw009] {
    background: #FFFBF3;
}

.admins-table th[b-lxgejzw009] {
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 700;
    color: #7A6D5E;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: left;
    border-bottom: 1px solid #EDE8DF;
}

.admins-table td[b-lxgejzw009] {
    padding: 10px 16px;
    vertical-align: middle;
    font-size: 14px;
}

.row-even[b-lxgejzw009] {
    background: #FFFFFF;
}

.row-odd[b-lxgejzw009] {
    background: #FAFBFD;
}

.name-cell[b-lxgejzw009] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.avatar[b-lxgejzw009] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: white;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-transform: uppercase;
}

.full-name[b-lxgejzw009] {
    font-weight: 600;
    color: #1A0A0A;
}

.muted-cell[b-lxgejzw009] {
    color: #7A6D5E;
    font-size: 13px;
}

.email-link[b-lxgejzw009] {
    color: #B71C1C;
    text-decoration: none;
    font-size: 13px;
}

.email-link:hover[b-lxgejzw009] {
    text-decoration: underline;
}

/* The whole row opens the edit form, as on the Patients and Practitioners pages. */
.admin-row[b-lxgejzw009] {
    cursor: pointer;
}

.loading-text[b-lxgejzw009],
.empty-text[b-lxgejzw009] {
    color: #7A6D5E;
    font-size: 14px;
    padding: 8px 0;
}
/* /Components/Pages/ExerciseAssignments.razor.rz.scp.css */
/* ══════════════════════════════════════════════════════════
   COLUMN RATIOS — edit the three values below to adjust the
   3-column layout. They must add up to 100%.
   ══════════════════════════════════════════════════════════ */
.ea-page[b-j4knjyhcsh] {
    --col-library:  40%;   /* Exercise Library  (left)   */
    --col-assign:   25%;   /* Assign panel      (middle) */
    --col-assigned: 35%;   /* Assigned Exercises (right) */
}

/* ── Header ── */
.ea-header-grid[b-j4knjyhcsh] {
    display: grid;
    grid-template-columns: var(--col-library) var(--col-assign) var(--col-assigned);
    align-items: center;
    margin-bottom: 20px;
    gap: 16px;
}

.page-title[b-j4knjyhcsh] {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
    color: #1A0A0A;
    margin: 0;
}

/* ── Patient selector ── */
.patient-selector[b-j4knjyhcsh] {
    position: relative;
}

/* Holds the selector and the Edit button side by side. It sits inside
   .patient-selector so the drop-down stays absolutely positioned against that,
   and so the page header keeps its strict 3-column grid. */
.patient-selector-row[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.patient-toggle[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    background: white;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    color: #7A6D5E;
    transition: border-color 0.15s;
}

.patient-toggle.has-patient[b-j4knjyhcsh] {
    background: #FFEBEE;
    border-color: #B71C1C;
    color: #1A0A0A;
}

.patient-toggle:hover[b-j4knjyhcsh] {
    border-color: #B71C1C;
}

/* Square Edit button next to the selector. Matches .patient-toggle's border and
   radius; disabled styling uses the real :disabled pseudo-class, like .assign-btn
   further down, rather than a modifier class. */
.patient-edit-btn[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    padding: 0;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    background: white;
    color: #7A6D5E;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}

.patient-edit-btn:hover:not(:disabled)[b-j4knjyhcsh] {
    border-color: #B71C1C;
    color: #B71C1C;
}

.patient-edit-btn:disabled[b-j4knjyhcsh] {
    opacity: 0.4;
    cursor: not-allowed;
}

.person-icon[b-j4knjyhcsh] {
    color: #7A6D5E;
    flex-shrink: 0;
}

.chevron-icon[b-j4knjyhcsh] {
    margin-left: auto;
    flex-shrink: 0;
    color: #7A6D5E;
}

.selector-placeholder[b-j4knjyhcsh] {
    flex: 1;
    text-align: left;
}

.selector-avatar[b-j4knjyhcsh] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: white;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-transform: uppercase;
}

.selector-name[b-j4knjyhcsh] {
    flex: 1;
    font-weight: 600;
    text-align: left;
}

.patient-dropdown[b-j4knjyhcsh] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #EDE8DF;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
    z-index: 100;
    overflow: hidden;
    max-height: 240px;
    overflow-y: auto;
}

.patient-option[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 12px;
    border: none;
    background: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    text-align: left;
    transition: background 0.1s;
}

.patient-option:hover[b-j4knjyhcsh] {
    background: #FFEBEE;
}

.option-avatar[b-j4knjyhcsh] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: white;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-transform: uppercase;
}

/* ── Last visit panel ── */
.last-visit-panel[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    background: white;
    border-radius: 10px;
    padding: 10px 16px;
    border: 1px solid #EDE8DF;
    gap: 0;
}

.lv-item[b-j4knjyhcsh] {
    flex: 1;
    padding: 0 14px;
}

.lv-item:first-child[b-j4knjyhcsh] {
    padding-left: 0;
}

.lv-item:last-child[b-j4knjyhcsh] {
    padding-right: 0;
}

.lv-label[b-j4knjyhcsh] {
    font-size: 11px;
    color: #7A6D5E;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 2px;
}

.lv-value[b-j4knjyhcsh] {
    font-size: 13px;
    font-weight: 600;
    color: #1A0A0A;
}

.lv-divider[b-j4knjyhcsh] {
    width: 1px;
    height: 32px;
    background: #EDE8DF;
    flex-shrink: 0;
}

/* ── Content grid ── */
.ea-content-grid[b-j4knjyhcsh] {
    display: grid;
    grid-template-columns: var(--col-library) var(--col-assign) var(--col-assigned);
    gap: 16px;
    align-items: start;
}

/* ── Panel base ── */
.ea-panel[b-j4knjyhcsh] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.panel-label[b-j4knjyhcsh] {
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 700;
    color: #7A6D5E;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #FFFBF3;
    border-bottom: 1px solid #EDE8DF;
}

.panel-label-row[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #FFFBF3;
    border-bottom: 1px solid #EDE8DF;
    padding-right: 14px;
}

.panel-label-row .panel-label[b-j4knjyhcsh] {
    border-bottom: none;
    background: none;
}

.show-all-label[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 600;
    color: #7A6D5E;
    cursor: pointer;
    white-space: nowrap;
}

/* ── Library tag filter ── */
.lib-tags-wrap[b-j4knjyhcsh] {
    position: relative;
    padding: 8px 12px;
    border-bottom: 1px solid #EDE8DF;
}

.lib-tags-toggle[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    width: 100%;
    padding: 7px 10px;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    background: white;
    font-size: 13px;
    font-family: inherit;
    color: #7A6D5E;
    cursor: pointer;
    transition: border-color 0.15s;
}

.lib-tags-toggle:hover[b-j4knjyhcsh] {
    border-color: #D4A017;
}

.lib-tags-dropdown[b-j4knjyhcsh] {
    position: absolute;
    top: calc(100% - 8px);
    left: 12px;
    right: 12px;
    background: white;
    border: 1px solid #EDE8DF;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    z-index: 100;
    padding: 10px;
}

.tags-pills-grid[b-j4knjyhcsh] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tag-filter-pill[b-j4knjyhcsh] {
    padding: 4px 10px;
    border-radius: 99px;
    border: 1.5px solid #EDE8DF;
    background: white;
    font-size: 11px;
    font-weight: 600;
    font-family: inherit;
    color: #7A6D5E;
    cursor: pointer;
    transition: all 0.15s;
}

.tag-filter-pill:hover[b-j4knjyhcsh] {
    border-color: #D4A017;
    color: #D4A017;
}

.tag-filter-pill.selected[b-j4knjyhcsh] {
    background: #D4A017;
    border-color: #D4A017;
    color: white;
}

.tags-clear[b-j4knjyhcsh] {
    margin-top: 8px;
    padding: 4px 10px;
    border: none;
    background: none;
    font-size: 11px;
    font-family: inherit;
    color: #B71C1C;
    cursor: pointer;
    text-decoration: underline;
}

/* ── Exercise Library ── */
.lib-search-wrap[b-j4knjyhcsh] {
    position: relative;
    padding: 10px 12px;
    border-bottom: 1px solid #EDE8DF;
    display: flex;
    align-items: center;
}

.lib-search-icon[b-j4knjyhcsh] {
    position: absolute;
    left: 22px;
    color: #7A6D5E;
    pointer-events: none;
}

.lib-search-input[b-j4knjyhcsh] {
    width: 100%;
    padding: 7px 10px 7px 32px;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.15s;
}

.lib-search-input:focus[b-j4knjyhcsh] {
    border-color: #D4A017;
}

.lib-list[b-j4knjyhcsh] {
    max-height: calc(100vh - 330px);
    overflow-y: auto;
}

.lib-item[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid #EDE8DF;
    cursor: pointer;
    transition: background 0.1s;
}

.lib-item:last-child[b-j4knjyhcsh] {
    border-bottom: none;
}

.lib-item:hover[b-j4knjyhcsh] {
    background: #FAFBFD;
}

.lib-item.lib-item-selected[b-j4knjyhcsh] {
    background: #FEF9E7;
    outline: 1.5px solid #D4A017;
    outline-offset: -1px;
}

.lib-thumb[b-j4knjyhcsh] {
    width: 44px;
    height: 44px;
    border-radius: 6px;
    object-fit: cover;
    flex-shrink: 0;
}

.lib-item-text[b-j4knjyhcsh] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.lib-title[b-j4knjyhcsh] {
    font-size: 13px;
    font-weight: 500;
    color: #1A0A0A;
    line-height: 1.3;
}

.lib-title.lib-title-gold[b-j4knjyhcsh] {
    color: #D4A017;
    font-weight: 700;
}

.lib-description[b-j4knjyhcsh] {
    font-size: 11px;
    color: #9E8E7E;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Assign panel ── */
.assign-content[b-j4knjyhcsh] {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.exercise-pill[b-j4knjyhcsh] {
    background: #D4A017;
    color: #1A0A0A;
    border-radius: 99px;
    padding: 5px 14px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
}

.exercise-placeholder[b-j4knjyhcsh] {
    font-size: 12px;
    color: #7A6D5E;
    text-align: center;
    padding: 4px 0;
}

.field-group[b-j4knjyhcsh] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.field-label[b-j4knjyhcsh] {
    font-size: 11px;
    font-weight: 600;
    color: #7A6D5E;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.field-input[b-j4knjyhcsh] {
    padding: 7px 10px;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    width: 100%;
    transition: border-color 0.15s;
}

.time-tz-row[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.time-input-narrow[b-j4knjyhcsh] {
    width: 120px;
    flex-shrink: 0;
}

.tz-label[b-j4knjyhcsh] {
    font-size: 12px;
    color: #7A6D5E;
    white-space: nowrap;
}

.field-input:focus[b-j4knjyhcsh] {
    border-color: #D4A017;
}

.field-textarea[b-j4knjyhcsh] {
    padding: 7px 10px;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    font-size: 13px;
    font-family: inherit;
    outline: none;
    width: 100%;
    resize: vertical;
    transition: border-color 0.15s;
}

.field-textarea:focus[b-j4knjyhcsh] {
    border-color: #D4A017;
}

.feedback-box[b-j4knjyhcsh] {
    padding: 7px 10px;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    font-size: 13px;
    max-height: 110px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.feedback-line[b-j4knjyhcsh] {
    padding: 2px 4px 3px;
    border-bottom: 1px solid #F5F1E9;
    border-radius: 4px;
    cursor: pointer;
}

.feedback-line:last-child[b-j4knjyhcsh] {
    border-bottom: none;
    padding-bottom: 2px;
}

.feedback-selected[b-j4knjyhcsh] {
    background: #F7F1E3;
}

.feedback-empty[b-j4knjyhcsh] {
    color: #7A6D5E;
    font-style: italic;
}

.feedback-timestamp[b-j4knjyhcsh] {
    font-size: 11px;
    color: #9A8D7E;
}

.days-row[b-j4knjyhcsh] {
    display: flex;
    gap: 4px;
}

.day-btn[b-j4knjyhcsh] {
    flex: 1;
    border-radius: 6px;
    border: 1.5px solid #EDE8DF;
    background: white;
    font-size: 11px;
    font-weight: 700;
    font-family: inherit;
    color: #7A6D5E;
    cursor: pointer;
    transition: all 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 2px;
    min-width: 0;
}

.day-btn.day-active[b-j4knjyhcsh] {
    background: #B71C1C;
    border-color: #B71C1C;
    color: white;
}

.day-btn:hover:not(.day-active)[b-j4knjyhcsh] {
    border-color: #B71C1C;
    color: #B71C1C;
}

.reps-sets-grid[b-j4knjyhcsh] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.date-enable-label[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    margin-bottom: 6px;
}

.date-inputs .field-input:disabled[b-j4knjyhcsh] {
    background: #F5F5F5;
    color: #BDBDBD;
    cursor: not-allowed;
}

.assign-btn[b-j4knjyhcsh] {
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, #B71C1C, #D4A017);
    color: white;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: opacity 0.15s;
}

.assign-btn:hover:not(:disabled)[b-j4knjyhcsh] {
    opacity: 0.9;
}

.assign-btn:disabled[b-j4knjyhcsh] {
    opacity: 0.4;
    cursor: not-allowed;
}

.assign-error[b-j4knjyhcsh] {
    font-size: 12px;
    color: #B71C1C;
    text-align: center;
}

/* ── Assigned panel ── */
.list-empty-state[b-j4knjyhcsh] {
    padding: 24px 16px;
    text-align: center;
    color: #7A6D5E;
    font-size: 13px;
}

.list-empty[b-j4knjyhcsh] {
    padding: 16px;
    color: #7A6D5E;
    font-size: 13px;
}

.assigned-list[b-j4knjyhcsh] {
    max-height: calc(100vh - 280px);
    overflow-y: auto;
}

.timeslot-header[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 12px;
    background: #FEF9E7;
    border-left: 3px solid #D4A017;
    border-bottom: 1px solid #EDE8DF;
    font-size: 12px;
    font-weight: 700;
    color: #1A0A0A;
}

.delete-slot-btn[b-j4knjyhcsh] {
    background: none;
    border: none;
    font-size: 11px;
    color: #7A6D5E;
    cursor: pointer;
    font-family: inherit;
    padding: 2px 6px;
    border-radius: 4px;
    transition: color 0.15s;
}

.delete-slot-btn:hover[b-j4knjyhcsh] {
    color: #B71C1C;
}

.assigned-item[b-j4knjyhcsh] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid #EDE8DF;
    cursor: pointer;
    transition: background-color 0.15s;
}

.assigned-item:hover[b-j4knjyhcsh] {
    background-color: #FAF7F0;
}

.assigned-item:last-child[b-j4knjyhcsh] {
    border-bottom: none;
}

.assigned-item-selected[b-j4knjyhcsh] {
    background-color: #FEF9E7;
}

.assigned-thumb[b-j4knjyhcsh] {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    object-fit: cover;
    flex-shrink: 0;
}

.assigned-details[b-j4knjyhcsh] {
    flex: 1;
    min-width: 0;
}

.assigned-title[b-j4knjyhcsh] {
    font-size: 13px;
    font-weight: 600;
    color: #1A0A0A;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.assigned-meta[b-j4knjyhcsh] {
    font-size: 11px;
    color: #7A6D5E;
    margin-top: 2px;
}

.adherence-label[b-j4knjyhcsh] {
    font-size: 11px;
    font-weight: 600;
    color: #4A7C59;
    white-space: nowrap;
    flex-shrink: 0;
}

.remove-btn[b-j4knjyhcsh] {
    background: none;
    border: none;
    font-size: 16px;
    color: #7A6D5E;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    flex-shrink: 0;
    transition: color 0.15s;
    line-height: 1;
}

.remove-btn:hover[b-j4knjyhcsh] {
    color: #B71C1C;
}
/* /Components/Pages/Exercises.razor.rz.scp.css */
.page-header[b-funcx3ep8k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 16px;
}

.header-left[b-funcx3ep8k] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    flex-wrap: wrap;
}

.page-title[b-funcx3ep8k] {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
    color: #1A0A0A;
    margin: 0;
}

.btn-new[b-funcx3ep8k] {
    background-color: #D4A017;
    color: #1A0A0A;
    border: none;
    border-radius: 8px;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s;
}

.btn-new:hover[b-funcx3ep8k] {
    background-color: #b88a14;
}

/* Tags filter */
.tags-filter[b-funcx3ep8k] {
    position: relative;
}

.tags-toggle[b-funcx3ep8k] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1.5px solid #EDE8DF;
    border-radius: 8px;
    background: white;
    font-size: 14px;
    font-family: inherit;
    color: #7A6D5E;
    cursor: pointer;
    white-space: nowrap;
    transition: border-color 0.15s;
}

.tags-toggle:hover[b-funcx3ep8k] {
    border-color: #D4A017;
}

.tags-dropdown[b-funcx3ep8k] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    background: white;
    border: 1px solid #EDE8DF;
    border-radius: 10px;
    padding: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
    z-index: 100;
    min-width: 300px;
}

.tags-pills-grid[b-funcx3ep8k] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.tag-filter-pill[b-funcx3ep8k] {
    padding: 4px 12px;
    border-radius: 99px;
    border: 1.5px solid #EDE8DF;
    background: white;
    color: #7A6D5E;
    font-size: 12px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.15s;
}

.tag-filter-pill:hover[b-funcx3ep8k] {
    border-color: #D4A017;
    color: #1A0A0A;
}

.tag-filter-pill.selected[b-funcx3ep8k] {
    background: #FEF9E7;
    border-color: #D4A017;
    color: #1A0A0A;
    font-weight: 600;
}

.tags-clear[b-funcx3ep8k] {
    background: none;
    border: none;
    color: #B71C1C;
    font-size: 12px;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
    text-decoration: underline;
}

/* Card grid */
.exercises-grid[b-funcx3ep8k] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.exercise-card[b-funcx3ep8k] {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    border: 1px solid #D4A017;
    cursor: pointer;
    transition: box-shadow 0.15s, border-color 0.15s;
}

.exercise-card:hover[b-funcx3ep8k] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    border-color: #b88a14;
}

.card-left[b-funcx3ep8k] {
    flex: 0 0 62%;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.card-right[b-funcx3ep8k] {
    flex: 0 0 38%;
    border-left: 1px solid #EDE8DF;
    overflow: hidden;
}

.card-thumb[b-funcx3ep8k] {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

/* Visibility pill */
.vis-pill[b-funcx3ep8k] {
    display: inline-flex;
    align-items: center;
    border-radius: 99px;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    align-self: flex-start;
}

.pill-public[b-funcx3ep8k] {
    background: #D4A017;
    color: #1A0A0A;
}

.pill-private[b-funcx3ep8k] {
    background: #FFEBEE;
    color: #B71C1C;
}

/* Card content */
.card-title[b-funcx3ep8k] {
    font-size: 15px;
    font-weight: 700;
    color: #1A0A0A;
    line-height: 1.3;
}

.card-tags[b-funcx3ep8k] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.card-description[b-funcx3ep8k] {
    margin-top: auto;
    font-size: 12px;
    color: #7A6D5E;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-tag[b-funcx3ep8k] {
    background: #F5F0E8;
    color: #7A6D5E;
    border-radius: 99px;
    font-size: 11px;
    font-weight: 500;
    padding: 2px 8px;
}


.empty-text[b-funcx3ep8k] {
    color: #7A6D5E;
    font-size: 14px;
    padding: 8px 0;
}

.selected-tags-display[b-funcx3ep8k] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.selected-tag-pill[b-funcx3ep8k] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #FEF9E7;
    border: 1.5px solid #D4A017;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 600;
    color: #1A0A0A;
    padding: 3px 8px 3px 12px;
}

.selected-tag-remove[b-funcx3ep8k] {
    background: none;
    border: none;
    color: #7A6D5E;
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    padding: 0;
    font-family: inherit;
    display: flex;
    align-items: center;
}

.selected-tag-remove:hover[b-funcx3ep8k] {
    color: #B71C1C;
}

/* Exercise form */
.exercise-form-card[b-funcx3ep8k] {
    background: #FFFFFF;
    border-radius: 12px;
    border: 1px solid #EDE8DF;
    padding: 24px 28px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.exercise-form-card h4[b-funcx3ep8k] {
    font-size: 18px;
    font-weight: 700;
    color: #1A0A0A;
    margin-bottom: 20px;
}

.form-columns[b-funcx3ep8k] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.form-col-left[b-funcx3ep8k],
.form-col-right[b-funcx3ep8k] {
    min-width: 0;
}

.form-tags-filter[b-funcx3ep8k] {
    position: relative;
}

/* Media previews in form */
.media-previews[b-funcx3ep8k] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 10px;
}

.media-preview-item[b-funcx3ep8k] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.media-preview-img[b-funcx3ep8k] {
    width: 100%;
    max-width: 320px;
    height: auto;
    border-radius: 8px;
    border: 1px solid #EDE8DF;
    object-fit: cover;
    display: block;
}

.media-preview-video[b-funcx3ep8k] {
    width: 100%;
    max-width: 320px;
    border-radius: 8px;
    border: 1px solid #EDE8DF;
    display: block;
}

.media-item-actions[b-funcx3ep8k] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    min-width: 0;
}

.media-file-name[b-funcx3ep8k] {
    color: #999;
    font-weight: normal;
    overflow-wrap: anywhere;
}

.show-inactive-toggle[b-funcx3ep8k] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #7A6D5E;
    cursor: pointer;
    white-space: nowrap;
}

.show-inactive-toggle input[type="checkbox"][b-funcx3ep8k] {
    cursor: pointer;
    accent-color: #D4A017;
}

.form-bottom-row[b-funcx3ep8k] {
    display: flex;
    align-items: center;
}

/* Owner and Visibility sit side by side - they are read together. */
.owner-visibility-row[b-funcx3ep8k] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.owner-visibility-field[b-funcx3ep8k] {
    min-width: 0;
}

.audit-lines[b-funcx3ep8k] {
    margin-top: 14px;
    font-size: 12px;
    line-height: 1.6;
    color: #7A6D5E;
}

.audit-lines span[b-funcx3ep8k] {
    margin-left: 8px;
}

.save-status[b-funcx3ep8k] {
    margin-left: 12px;
    font-size: 13px;
    color: #7A6D5E;
}

.active-toggle[b-funcx3ep8k] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #7A6D5E;
    cursor: pointer;
    user-select: none;
}

.active-toggle input[type="checkbox"][b-funcx3ep8k] {
    cursor: pointer;
    accent-color: #D4A017;
}
/* /Components/Pages/Feedback.razor.rz.scp.css */
.page-header[b-jmfph5zugz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 16px;
}

.page-title[b-jmfph5zugz] {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
    color: #1A0A0A;
    margin: 0;
}

.table-wrap[b-jmfph5zugz] {
    background: #FFFFFF;
    border-radius: 12px;
    overflow-x: auto;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.feedback-table[b-jmfph5zugz] {
    width: 100%;
    border-collapse: collapse;
}

.feedback-table thead tr[b-jmfph5zugz] {
    background: #FFFBF3;
}

.feedback-table th[b-jmfph5zugz] {
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 700;
    color: #7A6D5E;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: left;
    border-bottom: 1px solid #EDE8DF;
}

.feedback-table td[b-jmfph5zugz] {
    padding: 10px 16px;
    vertical-align: top;
    font-size: 14px;
}

.row-even[b-jmfph5zugz] {
    background: #FFFFFF;
}

.row-odd[b-jmfph5zugz] {
    background: #FAFBFD;
}

.muted-cell[b-jmfph5zugz] {
    color: #7A6D5E;
    font-size: 13px;
}

.nowrap[b-jmfph5zugz] {
    white-space: nowrap;
}

.feedback-cell[b-jmfph5zugz] {
    min-width: 200px;
    white-space: pre-wrap;
}

.response-cell[b-jmfph5zugz] {
    min-width: 280px;
}

.response-line[b-jmfph5zugz] {
    display: flex;
    gap: 8px;
}

.response-input[b-jmfph5zugz] {
    flex: 1;
    font-size: 13px;
}

.row-link[b-jmfph5zugz] {
    color: #B71C1C;
    text-decoration: none;
}

.row-link:hover[b-jmfph5zugz] {
    text-decoration: underline;
}

.btn-ack[b-jmfph5zugz],
.btn-send[b-jmfph5zugz] {
    background-color: #B71C1C;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s;
}

.btn-send[b-jmfph5zugz] {
    background-color: #25D366;
}

.btn-ack:hover:not(:disabled)[b-jmfph5zugz] {
    background-color: #9b1515;
}

.btn-send:hover:not(:disabled)[b-jmfph5zugz] {
    background-color: #1ebe5b;
}

.btn-ack:disabled[b-jmfph5zugz],
.btn-send:disabled[b-jmfph5zugz] {
    opacity: 0.4;
    cursor: default;
}

.response-status[b-jmfph5zugz] {
    display: block;
    font-size: 11px;
    margin-top: 3px;
}

.status-ok[b-jmfph5zugz] {
    color: #7A6D5E;
}

.status-error[b-jmfph5zugz] {
    color: #B71C1C;
}

.loading-text[b-jmfph5zugz],
.empty-text[b-jmfph5zugz] {
    color: #7A6D5E;
    font-size: 14px;
    padding: 8px 0;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-stack[b-l6xn0rwoog] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 640px;
}

.home-card[b-l6xn0rwoog] {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.section-header[b-l6xn0rwoog] {
    background: #FEF9E7;
    border-left: 3px solid #D4A017;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #1A0A0A;
}

.patient-row[b-l6xn0rwoog] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #EDE8DF;
}

.patient-row.no-border[b-l6xn0rwoog] {
    border-bottom: none;
}

.avatar[b-l6xn0rwoog] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: white;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-transform: uppercase;
}

.patient-info[b-l6xn0rwoog] {
    flex: 1;
    min-width: 0;
}

.patient-name[b-l6xn0rwoog] {
    font-size: 14px;
    font-weight: 600;
    color: #1A0A0A;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.patient-sub[b-l6xn0rwoog] {
    font-size: 12px;
    color: #7A6D5E;
    margin-top: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.time-pill[b-l6xn0rwoog] {
    background: #FFEBEE;
    color: #B71C1C;
    border-radius: 99px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
}

.empty-text[b-l6xn0rwoog] {
    padding: 16px;
    color: #7A6D5E;
    font-size: 14px;
    margin: 0;
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-page[b-7jmq0tgi9h] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #1A0A0A;
    padding: 24px;
}

.login-card[b-7jmq0tgi9h] {
    width: 100%;
    max-width: 380px;
    background: white;
    border-radius: 14px;
    padding: 32px 28px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45);
}

.login-logo[b-7jmq0tgi9h] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.logo-icon[b-7jmq0tgi9h] {
    width: 36px;
    height: 36px;
    background-color: #B71C1C;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.logo-icon img[b-7jmq0tgi9h] {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.wordmark[b-7jmq0tgi9h] {
    font-size: 15px;
    font-weight: 700;
    color: #1A0A0A;
    white-space: nowrap;
}

.wordmark-pocket[b-7jmq0tgi9h] {
    color: #D4A017;
}

.login-title[b-7jmq0tgi9h] {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 18px;
}

.login-btn[b-7jmq0tgi9h] {
    width: 100%;
    background-color: #B71C1C;
    color: white;
    font-weight: 600;
}

.login-btn:hover[b-7jmq0tgi9h] {
    background-color: #9A1515;
    color: white;
}

.password-wrap[b-7jmq0tgi9h] {
    position: relative;
}

.password-wrap[b-7jmq0tgi9h]  input {
    padding-right: 40px;
}

.pw-toggle[b-7jmq0tgi9h] {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: none;
    padding: 4px 6px;
    color: #6c757d;
    cursor: pointer;
    line-height: 0;
}

.pw-toggle:hover[b-7jmq0tgi9h] {
    color: #1A0A0A;
}

/* Show the open eye normally; the crossed-out eye while the password is visible. */
.pw-toggle .eye-closed[b-7jmq0tgi9h] {
    display: none;
}

.pw-toggle.showing .eye-open[b-7jmq0tgi9h] {
    display: none;
}

.pw-toggle.showing .eye-closed[b-7jmq0tgi9h] {
    display: inline;
}

.login-help[b-7jmq0tgi9h] {
    margin: 16px 0 0;
    font-size: 12px;
    color: #6c757d;
    text-align: center;
}
/* /Components/Pages/Marketing/Contact.razor.rz.scp.css */
.contact-grid[b-c1tx69760u] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}

.contact-card[b-c1tx69760u] {
    display: block;
    background-color: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 28px 26px;
    text-decoration: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.contact-card:hover[b-c1tx69760u] {
    border-color: var(--accent);
    box-shadow: 0 10px 26px rgba(26, 10, 10, 0.08);
}

.contact-icon[b-c1tx69760u] {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background-color: var(--accent-light);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.contact-label[b-c1tx69760u] {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 6px;
}

.contact-value[b-c1tx69760u] {
    font-size: 17px;
    font-weight: 600;
    color: var(--text);
    word-break: break-word;
}

.contact-hint[b-c1tx69760u] {
    font-size: 14px;
    line-height: 1.5;
    color: var(--muted);
    margin-top: 8px;
}

.address-card[b-c1tx69760u] {
    margin-top: 30px;
    background-color: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 28px 26px;
}

.address-label[b-c1tx69760u] {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 12px;
}

.address-text[b-c1tx69760u] {
    font-size: 16px;
    line-height: 1.65;
    color: var(--text);
    margin: 0 0 20px;
}

.address-note[b-c1tx69760u] {
    font-size: 15px;
    line-height: 1.6;
    color: var(--muted);
    margin: 0;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.address-note a[b-c1tx69760u] {
    color: var(--accent);
    font-weight: 600;
}
/* /Components/Pages/Marketing/Cost.razor.rz.scp.css */
.tier-grid[b-tik0vx8ywo] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: start;
}

.tier[b-tik0vx8ywo] {
    position: relative;
    background-color: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.tier-featured[b-tik0vx8ywo] {
    border-color: var(--accent);
    border-width: 2px;
    box-shadow: 0 14px 34px rgba(26, 10, 10, 0.09);
}

.tier-badge[b-tik0vx8ywo] {
    position: absolute;
    top: -13px;
    left: 28px;
    background-color: var(--accent);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 99px;
    padding: 5px 12px;
}

.tier-name[b-tik0vx8ywo] {
    font-size: 19px;
    font-weight: 700;
    color: var(--text);
}

.tier-for[b-tik0vx8ywo] {
    font-size: 14px;
    line-height: 1.5;
    color: var(--muted);
    margin: 6px 0 22px;
    min-height: 42px;
}

.tier-price[b-tik0vx8ywo] {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 22px;
}

/* Placeholder styling, deliberately loud so an unfinished price cannot ship unnoticed. */
.tbd[b-tik0vx8ywo] {
    font-size: 32px;
    font-weight: 700;
    color: var(--accent);
    background-color: var(--accent-light);
    border-radius: 8px;
    padding: 2px 12px;
}

.tbd-inline[b-tik0vx8ywo] {
    font-weight: 700;
    color: var(--accent);
}

.per[b-tik0vx8ywo] {
    font-size: 14px;
    color: var(--muted);
}

.tier-list[b-tik0vx8ywo] {
    list-style: none;
    margin: 0 0 26px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
    flex: 1;
}

.tier-list li[b-tik0vx8ywo] {
    position: relative;
    padding-left: 22px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--text);
}

.tier-list li[b-tik0vx8ywo]::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 6px;
    width: 5px;
    height: 9px;
    border-right: 2px solid var(--accent);
    border-bottom: 2px solid var(--accent);
    transform: rotate(45deg);
}

.tier-btn[b-tik0vx8ywo] {
    text-align: center;
    margin-top: auto;
}

.tier-note[b-tik0vx8ywo] {
    margin: 30px 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--muted);
    text-align: center;
}

.tier-note strong[b-tik0vx8ywo] {
    color: var(--accent);
}

@media (max-width: 900px) {

    .tier-grid[b-tik0vx8ywo] {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .tier-for[b-tik0vx8ywo] {
        min-height: 0;
    }
}
/* /Components/Pages/Marketing/Index.razor.rz.scp.css */
/* ---------- hero ---------- */

.hero[b-md7jhx93c7] {
    background: linear-gradient(180deg, var(--gold-light) 0%, var(--surface) 100%);
    border-bottom: 1px solid var(--border);
}

.hero-inner[b-md7jhx93c7] {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 56px;
    align-items: center;
    padding-top: 76px;
    padding-bottom: 76px;
}

.hero-actions[b-md7jhx93c7] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.hero-note[b-md7jhx93c7] {
    margin: 20px 0 0;
    font-size: 14px;
    color: var(--muted);
}

/* ---------- hero illustration (a stylised WhatsApp thread) ---------- */

.hero-art[b-md7jhx93c7] {
    display: flex;
    justify-content: center;
}

.phone[b-md7jhx93c7] {
    width: 300px;
    background-color: var(--card);
    border: 1px solid var(--border);
    border-radius: 26px;
    box-shadow: 0 18px 44px rgba(26, 10, 10, 0.12);
    overflow: hidden;
}

.phone-bar[b-md7jhx93c7] {
    background-color: var(--sidebar);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 14px 18px;
}

.chat[b-md7jhx93c7] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: #F7F3EC;
}

.bubble[b-md7jhx93c7] {
    max-width: 88%;
    padding: 10px 12px;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.5;
}

.bubble.in[b-md7jhx93c7] {
    background-color: #fff;
    border: 1px solid var(--border);
    border-bottom-left-radius: 4px;
    align-self: flex-start;
}

.bubble.out[b-md7jhx93c7] {
    background-color: #DCF8C6;
    border-bottom-right-radius: 4px;
    align-self: flex-end;
    font-weight: 600;
}

.bubble.short[b-md7jhx93c7] {
    max-width: 78%;
}

.bubble-title[b-md7jhx93c7] {
    font-weight: 700;
    margin-bottom: 3px;
}

.bubble img[b-md7jhx93c7] {
    display: block;
    width: 100%;
    border-radius: 8px;
    margin-top: 8px;
}

.bubble-btns[b-md7jhx93c7] {
    display: flex;
    gap: 5px;
    margin-top: 9px;
}

.bubble-btns span[b-md7jhx93c7] {
    flex: 1;
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    color: #1565C0;
    background-color: #F3F6FA;
    border-radius: 6px;
    padding: 6px 2px;
}

/* ---------- the two audience cards ---------- */

.audience-grid[b-md7jhx93c7] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.audience-card[b-md7jhx93c7] {
    background-color: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 34px 32px;
}

.audience-card p[b-md7jhx93c7] {
    font-size: 16px;
    line-height: 1.65;
    color: var(--muted);
    margin: 0 0 20px;
}

.tick-list[b-md7jhx93c7] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.tick-list li[b-md7jhx93c7] {
    position: relative;
    padding-left: 28px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--text);
}

.tick-list li[b-md7jhx93c7]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--accent-light);
    /* Tick mark drawn with a rotated L so no icon asset is needed. */
    box-shadow: inset 0 0 0 1px rgba(183, 28, 28, 0.25);
}

.tick-list li[b-md7jhx93c7]::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 8px;
    width: 4px;
    height: 7px;
    border-right: 2px solid var(--accent);
    border-bottom: 2px solid var(--accent);
    transform: rotate(45deg);
}

/* ---------- how it works ---------- */

.steps-section[b-md7jhx93c7] {
    background-color: var(--card);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.steps-heading[b-md7jhx93c7] {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--text);
    text-align: center;
    margin: 0 0 44px;
}

.steps[b-md7jhx93c7] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
}

.step-num[b-md7jhx93c7] {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background-color: var(--accent);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.step h3[b-md7jhx93c7] {
    font-size: 17px;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 8px;
}

.step p[b-md7jhx93c7] {
    font-size: 15px;
    line-height: 1.6;
    color: var(--muted);
    margin: 0;
}

/* The closing .cta-band is styled once in MarketingLayout.razor.css — every page uses it. */

/* ---------- responsive ---------- */

@media (max-width: 980px) {

    .steps[b-md7jhx93c7] {
        grid-template-columns: 1fr 1fr;
        gap: 32px;
    }
}

@media (max-width: 860px) {

    .hero-inner[b-md7jhx93c7] {
        grid-template-columns: 1fr;
        gap: 44px;
        padding-top: 52px;
        padding-bottom: 52px;
    }

    .audience-grid[b-md7jhx93c7] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {

    .steps[b-md7jhx93c7] {
        grid-template-columns: 1fr;
    }

    .steps-heading[b-md7jhx93c7] {
        font-size: 25px;
    }

    .audience-card[b-md7jhx93c7] {
        padding: 26px 22px;
    }
}
/* /Components/Pages/Patients.razor.rz.scp.css */
.page-header[b-2xripnbpln] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 16px;
}

.page-title[b-2xripnbpln] {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
    color: #1A0A0A;
    margin: 0;
}

.header-center[b-2xripnbpln] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.show-inactive-toggle[b-2xripnbpln] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #7A6D5E;
    cursor: pointer;
    white-space: nowrap;
}

.show-inactive-toggle input[type="checkbox"][b-2xripnbpln] {
    cursor: pointer;
    accent-color: #D4A017;
}

.search-box[b-2xripnbpln] {
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-2xripnbpln] {
    position: absolute;
    left: 10px;
    color: #7A6D5E;
    pointer-events: none;
}

.search-input[b-2xripnbpln] {
    padding: 8px 12px 8px 34px;
    width: 280px;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    font-size: 14px;
    font-family: inherit;
    background: #FFFFFF;
    color: #1A0A0A;
    outline: none;
    transition: border-color 0.15s;
}

.search-input:focus[b-2xripnbpln] {
    border-color: #D4A017;
}

.btn-new[b-2xripnbpln] {
    background-color: #B71C1C;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s;
}

.btn-new:hover[b-2xripnbpln] {
    background-color: #9b1515;
}

.table-wrap[b-2xripnbpln] {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.patients-table[b-2xripnbpln] {
    width: 100%;
    border-collapse: collapse;
}

.patients-table thead tr[b-2xripnbpln] {
    background: #FFFBF3;
}

.patients-table th[b-2xripnbpln] {
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 700;
    color: #7A6D5E;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: left;
    border-bottom: 1px solid #EDE8DF;
}

.patients-table td[b-2xripnbpln] {
    padding: 10px 16px;
    vertical-align: middle;
    font-size: 14px;
}

.row-even[b-2xripnbpln] {
    background: #FFFFFF;
}

.row-odd[b-2xripnbpln] {
    background: #FAFBFD;
}

.name-cell[b-2xripnbpln] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.avatar[b-2xripnbpln] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: white;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-transform: uppercase;
}

.full-name[b-2xripnbpln] {
    font-weight: 600;
    color: #1A0A0A;
}

.muted-cell[b-2xripnbpln] {
    color: #7A6D5E;
    font-size: 13px;
}

.email-link[b-2xripnbpln] {
    color: #B71C1C;
    text-decoration: none;
    font-size: 13px;
}

.email-link:hover[b-2xripnbpln] {
    text-decoration: underline;
}

.btn-edit[b-2xripnbpln] {
    background: #F5F0E8;
    color: #7A6D5E;
    border: none;
    border-radius: 6px;
    padding: 5px 14px;
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-edit:hover[b-2xripnbpln] {
    background: #EDE8DF;
}

.loading-text[b-2xripnbpln],
.empty-text[b-2xripnbpln] {
    color: #7A6D5E;
    font-size: 14px;
    padding: 8px 0;
}

.patient-row[b-2xripnbpln] {
    cursor: pointer;
}

.btn-wa[b-2xripnbpln] {
    background: #25D366;
    color: white;
    border: none;
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    margin-left: 6px;
    transition: background-color 0.15s;
}

.btn-wa:hover[b-2xripnbpln] {
    background: #1ebe57;
}

.btn-wa-disabled[b-2xripnbpln] {
    background: #C8C8C8;
    cursor: not-allowed;
}

.wa-status[b-2xripnbpln] {
    display: block;
    font-size: 11px;
    margin-top: 3px;
}

.wa-status-ok[b-2xripnbpln] {
    color: #25D366;
}

.wa-status-error[b-2xripnbpln] {
    color: #B71C1C;
}

.whatsapp-response-cell[b-2xripnbpln] {
    max-width: 200px;
}

.wa-response-text[b-2xripnbpln] {
    display: block;
    font-size: 13px;
    color: #1A0A0A;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 190px;
}

.wa-response-time[b-2xripnbpln] {
    display: block;
    font-size: 11px;
}

.form-layout[b-2xripnbpln] {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.form-info[b-2xripnbpln] {
    flex: 1 1 560px;
    min-width: 0;
}

.form-side[b-2xripnbpln] {
    flex: 0 0 320px;
}

/* A 10" tablet is two columns in landscape and stacks in portrait. */
@media (max-width: 900px) {
    .form-layout[b-2xripnbpln] {
        flex-direction: column;
    }

    .form-side[b-2xripnbpln] {
        flex: 1 1 auto;
        width: 100%;
    }
}

.side-heading[b-2xripnbpln] {
    margin-bottom: 8px;
}

.side-label[b-2xripnbpln] {
    display: block;
    margin-top: 12px;
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 600;
    color: #7A6D5E;
}

.side-input[b-2xripnbpln] {
    margin-bottom: 6px;
}

.side-actions[b-2xripnbpln] {
    margin-top: 12px;
}

.side-actions .btn-wa:first-child[b-2xripnbpln] {
    margin-left: 0;
}
/* /Components/Pages/Practitioners.razor.rz.scp.css */
.page-header[b-vfg21waic5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 16px;
}

.page-title[b-vfg21waic5] {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
    color: #1A0A0A;
    margin: 0;
}

.header-center[b-vfg21waic5] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.show-inactive-toggle[b-vfg21waic5] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #7A6D5E;
    cursor: pointer;
    white-space: nowrap;
}

.show-inactive-toggle input[type="checkbox"][b-vfg21waic5] {
    cursor: pointer;
    accent-color: #D4A017;
}

.search-box[b-vfg21waic5] {
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-vfg21waic5] {
    position: absolute;
    left: 10px;
    color: #7A6D5E;
    pointer-events: none;
}

.search-input[b-vfg21waic5] {
    padding: 8px 12px 8px 34px;
    width: 280px;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    font-size: 14px;
    font-family: inherit;
    background: #FFFFFF;
    color: #1A0A0A;
    outline: none;
    transition: border-color 0.15s;
}

.search-input:focus[b-vfg21waic5] {
    border-color: #D4A017;
}

.btn-new[b-vfg21waic5] {
    background-color: #B71C1C;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s;
}

.btn-new:hover[b-vfg21waic5] {
    background-color: #9b1515;
}

.table-wrap[b-vfg21waic5] {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.practitioners-table[b-vfg21waic5] {
    width: 100%;
    border-collapse: collapse;
}

.practitioners-table thead tr[b-vfg21waic5] {
    background: #FFFBF3;
}

.practitioners-table th[b-vfg21waic5] {
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 700;
    color: #7A6D5E;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: left;
    border-bottom: 1px solid #EDE8DF;
}

.practitioners-table td[b-vfg21waic5] {
    padding: 10px 16px;
    vertical-align: middle;
    font-size: 14px;
}

.row-even[b-vfg21waic5] {
    background: #FFFFFF;
}

.row-odd[b-vfg21waic5] {
    background: #FAFBFD;
}

.name-cell[b-vfg21waic5] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.avatar[b-vfg21waic5] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: white;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-transform: uppercase;
}

.full-name[b-vfg21waic5] {
    font-weight: 600;
    color: #1A0A0A;
}

.muted-cell[b-vfg21waic5] {
    color: #7A6D5E;
    font-size: 13px;
}

.email-link[b-vfg21waic5] {
    color: #B71C1C;
    text-decoration: none;
    font-size: 13px;
}

.email-link:hover[b-vfg21waic5] {
    text-decoration: underline;
}

/* The whole row opens the edit form, as on the Patients page. The .action-cell
   and .btn-edit rules that used to live here went with the Edit button. */
.practitioner-row[b-vfg21waic5] {
    cursor: pointer;
}

.loading-text[b-vfg21waic5],
.empty-text[b-vfg21waic5] {
    color: #7A6D5E;
    font-size: 14px;
    padding: 8px 0;
}
/* /Components/Pages/Privacy.razor.rz.scp.css */
.policy-stack[b-4g2nj93ssj] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 720px;
    /* MarketingLayout's <main> has no padding of its own (MainLayout's did), so this
       page centres and insets itself. */
    margin: 48px auto;
    padding: 0 24px;
}

.policy-card[b-4g2nj93ssj] {
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    padding: 20px;
}

.policy-title[b-4g2nj93ssj] {
    font-size: 22px;
    font-weight: 700;
    color: #1A0A0A;
    margin: 0;
}

.policy-updated[b-4g2nj93ssj] {
    font-size: 13px;
    color: #7A6D5E;
    margin: 6px 0 0;
}

.policy-heading[b-4g2nj93ssj] {
    font-size: 15px;
    font-weight: 700;
    color: #1A0A0A;
    margin: 0 0 10px;
}

.policy-text[b-4g2nj93ssj] {
    font-size: 14px;
    color: #3A322A;
    line-height: 1.6;
    margin: 0;
}

.policy-text a[b-4g2nj93ssj] {
    color: #B71C1C;
}

.policy-list[b-4g2nj93ssj] {
    margin: 0;
    padding-left: 20px;
    font-size: 14px;
    color: #3A322A;
    line-height: 1.6;
}

.policy-list li[b-4g2nj93ssj] {
    margin-bottom: 6px;
}

.policy-list li:last-child[b-4g2nj93ssj] {
    margin-bottom: 0;
}

/* ── Contact card (matches About page styling) ── */
.card-section-header[b-4g2nj93ssj] {
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 700;
    color: #7A6D5E;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #FFFBF3;
    border-bottom: 1px solid #EDE8DF;
    margin: -20px -20px 0;
}

.contact-row[b-4g2nj93ssj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #EDE8DF;
    margin: 0 -20px;
}

.contact-row.no-border[b-4g2nj93ssj] {
    border-bottom: none;
}

.contact-label[b-4g2nj93ssj] {
    font-size: 13px;
    color: #7A6D5E;
    font-weight: 500;
    flex-shrink: 0;
}

.contact-value[b-4g2nj93ssj] {
    font-size: 13px;
    color: #1A0A0A;
    font-weight: 500;
    text-align: right;
}

.contact-value.link[b-4g2nj93ssj] {
    color: #B71C1C;
    text-decoration: none;
}

.contact-value.link:hover[b-4g2nj93ssj] {
    text-decoration: underline;
}
/* /Components/Pages/Tags.razor.rz.scp.css */
.page-header[b-4phivjlbdl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 16px;
}

.page-title[b-4phivjlbdl] {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
    color: #1A0A0A;
    margin: 0;
}

.header-center[b-4phivjlbdl] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.search-box[b-4phivjlbdl] {
    position: relative;
    display: flex;
    align-items: center;
}

.search-icon[b-4phivjlbdl] {
    position: absolute;
    left: 10px;
    color: #7A6D5E;
    pointer-events: none;
}

.search-input[b-4phivjlbdl] {
    padding: 8px 12px 8px 34px;
    width: 280px;
    border-radius: 8px;
    border: 1.5px solid #EDE8DF;
    font-size: 14px;
    font-family: inherit;
    background: #FFFFFF;
    color: #1A0A0A;
    outline: none;
    transition: border-color 0.15s;
}

.search-input:focus[b-4phivjlbdl] {
    border-color: #D4A017;
}

.btn-new[b-4phivjlbdl] {
    background-color: #D4A017;
    color: #1A0A0A;
    border: none;
    border-radius: 8px;
    padding: 9px 18px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s;
}

.btn-new:hover[b-4phivjlbdl] {
    background-color: #b88a14;
}

/* Add form */
.add-form[b-4phivjlbdl] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    padding: 12px 16px;
    background: #FFFBF3;
    border: 1px solid #EDE8DF;
    border-radius: 10px;
}

.tag-name-input[b-4phivjlbdl] {
    padding: 7px 12px;
    border: 1.5px solid #EDE8DF;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    width: 240px;
    transition: border-color 0.15s;
}

.tag-name-input:focus[b-4phivjlbdl] {
    border-color: #D4A017;
}

.btn-save[b-4phivjlbdl] {
    padding: 7px 16px;
    background: #D4A017;
    color: #1A0A0A;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-save:hover[b-4phivjlbdl] {
    background-color: #b88a14;
}

.btn-cancel-sm[b-4phivjlbdl] {
    padding: 7px 14px;
    background: #F5F0E8;
    color: #7A6D5E;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-cancel-sm:hover[b-4phivjlbdl] {
    background-color: #EDE8DF;
}

.inline-error[b-4phivjlbdl] {
    font-size: 13px;
    color: #B71C1C;
}

/* Tag list */
.tag-list[b-4phivjlbdl] {
    background: #FFFFFF;
    border-radius: 12px;
    border: 1px solid #EDE8DF;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.tag-row[b-4phivjlbdl] {
    display: flex;
    align-items: center;
    padding: 11px 16px;
    border-bottom: 1px solid #EDE8DF;
    cursor: pointer;
    transition: background-color 0.1s;
    min-height: 44px;
    gap: 10px;
}

.tag-row:last-child[b-4phivjlbdl] {
    border-bottom: none;
}

.tag-row:hover[b-4phivjlbdl] {
    background-color: #FAFAF8;
}

.tag-row-selected[b-4phivjlbdl] {
    background-color: #FEF9E7;
}

.tag-row-selected:hover[b-4phivjlbdl] {
    background-color: #FEF9E7;
}

.tag-name-text[b-4phivjlbdl] {
    flex: 1;
    font-size: 14px;
    color: #1A0A0A;
}

.row-actions[b-4phivjlbdl] {
    display: flex;
    gap: 6px;
    margin-left: auto;
}

.btn-edit[b-4phivjlbdl] {
    padding: 5px 14px;
    background: #F5F0E8;
    color: #7A6D5E;
    border: none;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-edit:hover[b-4phivjlbdl] {
    background-color: #EDE8DF;
}

.btn-delete[b-4phivjlbdl] {
    padding: 5px 14px;
    background: #FFEBEE;
    color: #B71C1C;
    border: none;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-delete:hover[b-4phivjlbdl] {
    background-color: #FFCDD2;
}

.empty-text[b-4phivjlbdl] {
    color: #7A6D5E;
    font-size: 14px;
    padding: 16px;
}
