/* _content/Springhouse.Web/Components/Layout/AdminLayout.razor.rz.scp.css */
/* Admin shell (admin-task-list.md section 1) - deliberately distinct from the public
   site's look (SiteHeader.razor.css/MainLayout.razor.css) so it's never ambiguous which
   "mode" a signed-in admin is in. No design-system dependency on the public site's own
   (still-minimal, see site.css's own header comment) styling - this is a self-contained,
   utilitarian back-office look. */

.admin-shell[b-evge1fuf1i] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f4f5f7;
    color: #1b1b1b;
}

.admin-topbar[b-evge1fuf1i] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #14203a;
    color: #fff;
    padding: 0.85rem 1.5rem;
}

.admin-brand[b-evge1fuf1i] {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: 0.02em;
}

.admin-brand span[b-evge1fuf1i] {
    color: #8fb3ff;
    font-weight: 400;
}

.admin-topbar-user[b-evge1fuf1i] {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.9rem;
}

.admin-user-name[b-evge1fuf1i] {
    opacity: 0.85;
}

.admin-signout-link[b-evge1fuf1i] {
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    padding: 0.35rem 0.9rem;
    border-radius: 4px;
    text-decoration: none;
}

.admin-signout-link:hover[b-evge1fuf1i] {
    background: rgba(255, 255, 255, 0.22);
}

.admin-body[b-evge1fuf1i] {
    display: flex;
    flex: 1;
}

.admin-nav[b-evge1fuf1i] {
    width: 220px;
    flex-shrink: 0;
    background: #1b2743;
    color: #dbe3f5;
    padding: 1.25rem 0;
    display: flex;
    flex-direction: column;
}

.admin-nav-section-label[b-evge1fuf1i] {
    text-transform: uppercase;
    font-size: 0.7rem;
    letter-spacing: 0.06em;
    color: #7f8fb3;
    padding: 1rem 1.25rem 0.35rem;
}

/* ::deep (not a plain descendant selector) is required here, not cosmetic: three of the
   four ".admin-nav-link" elements below are rendered by Blazor's built-in <NavLink>
   component, not written directly in this file's own markup - Razor's CSS isolation only
   stamps the scope attribute onto elements literally present in AdminLayout.razor, and
   NavLink's rendered <a> doesn't get it despite AdditionalAttributes splatting the class
   through. Without ::deep, "color: #dbe3f5" below compiled to ".admin-nav-link[b-xxx]",
   which never matched those <a> tags at all - only the global "a { color: #1b2a4a }" rule
   in site.css applied, which is nearly identical to this nav's #1b2743 background (found
   2026-08-13: nav links were reported unreadable in a real browser). See
   https://learn.microsoft.com/aspnet/core/blazor/components/css-isolation#child-components */
.admin-nav[b-evge1fuf1i]  .admin-nav-link {
    display: block;
    padding: 0.5rem 1.25rem;
    color: #dbe3f5;
    text-decoration: none;
}

.admin-nav[b-evge1fuf1i]  .admin-nav-link:hover {
    background: rgba(255, 255, 255, 0.06);
}

.admin-nav[b-evge1fuf1i]  .admin-nav-link.active {
    background: rgba(255, 255, 255, 0.12);
    font-weight: 600;
    border-left: 3px solid #8fb3ff;
}

.admin-nav-footer[b-evge1fuf1i] {
    margin-top: auto;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 0.75rem;
}

.admin-main[b-evge1fuf1i] {
    flex: 1;
    padding: 2rem;
    max-width: 1100px;
}

@media (max-width: 720px) {
    .admin-body[b-evge1fuf1i] {
        flex-direction: column;
    }

    .admin-nav[b-evge1fuf1i] {
        width: auto;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 0.5rem;
    }

    .admin-nav-section-label[b-evge1fuf1i] {
        display: none;
    }

    .admin-nav-footer[b-evge1fuf1i] {
        margin-top: 0;
        border-top: none;
    }
}
/* _content/Springhouse.Web/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-3qhxxv0bcv] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-main[b-3qhxxv0bcv] {
    flex: 1 0 auto;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

#blazor-error-ui[b-3qhxxv0bcv] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    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-3qhxxv0bcv] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* _content/Springhouse.Web/Components/Pages/AdminPoApproval.razor.rz.scp.css */
.po-approval-denied[b-60wdlwi8g9] {
    max-width: 480px;
    padding: 2rem 0;
}

.po-approval[b-60wdlwi8g9] {
    max-width: 640px;
}

.po-approval h1[b-60wdlwi8g9] {
    color: #1b2a4a;
    font-size: 1.3rem;
}

.po-approval-details[b-60wdlwi8g9] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.25rem 1.5rem;
    background: #f7f8fb;
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1rem 1.25rem;
    margin: 1rem 0 1.5rem;
}

.po-approval-details > div[b-60wdlwi8g9] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.25rem 0;
}

.po-approval-details dt[b-60wdlwi8g9] {
    font-weight: 600;
    color: #6b7280;
    font-size: 0.85rem;
}

.po-approval-details dd[b-60wdlwi8g9] {
    margin: 0;
    color: #1b2a4a;
    font-weight: 600;
    text-align: right;
}

.po-approval-attendees[b-60wdlwi8g9] {
    padding-left: 1.25rem;
    color: #333333;
}

.po-approval-actions[b-60wdlwi8g9] {
    margin-top: 1.5rem;
}

.po-approval-actions textarea[b-60wdlwi8g9] {
    width: 100%;
    max-width: 480px;
    padding: 0.5rem 0.6rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
}

.po-approve[b-60wdlwi8g9],
.po-reject[b-60wdlwi8g9] {
    border: none;
    border-radius: 4px;
    padding: 0.6rem 1.25rem;
    font-weight: 600;
    cursor: pointer;
    margin-right: 0.75rem;
}

.po-approve[b-60wdlwi8g9] {
    background: #1b7a3a;
    color: #ffffff;
}

.po-reject[b-60wdlwi8g9] {
    background: #a33;
    color: #ffffff;
}

.po-approve:disabled[b-60wdlwi8g9],
.po-reject:disabled[b-60wdlwi8g9] {
    opacity: 0.6;
    cursor: default;
}

.po-approval-already-decided[b-60wdlwi8g9] {
    margin-top: 1.5rem;
    color: #333333;
}

.po-approval-message[b-60wdlwi8g9] {
    margin-top: 1rem;
    font-weight: 600;
    color: #1b2a4a;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminCourseEdit.razor.rz.scp.css */
.admin-courseedit-back[b-dl0eum35ov] {
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
}

.admin-courseedit-sessions-link[b-dl0eum35ov] {
    margin-bottom: 1rem;
    font-size: 0.88rem;
    font-weight: 600;
}

.admin-courseedit-form[b-dl0eum35ov] {
    max-width: 760px;
}

.admin-courseedit-fieldset[b-dl0eum35ov] {
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.admin-courseedit-fieldset legend[b-dl0eum35ov] {
    font-weight: 600;
    color: #1b2a4a;
    font-size: 0.92rem;
    padding: 0 0.3rem;
}

.form-field[b-dl0eum35ov] {
    margin-bottom: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-width: 600px;
}

.form-field label[b-dl0eum35ov] {
    font-weight: 600;
    color: #55607a;
    font-size: 0.82rem;
}

.form-field input[b-dl0eum35ov],
.form-field select[b-dl0eum35ov],
.form-field textarea[b-dl0eum35ov] {
    padding: 0.45rem 0.55rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.88rem;
}

.admin-courseedit-hint[b-dl0eum35ov] {
    font-size: 0.8rem;
    color: #7a8399;
    margin: 0.2rem 0 0.6rem;
    max-width: 560px;
}

.admin-courseedit-checkbox-field[b-dl0eum35ov] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
}

.admin-courseedit-checkbox-field label[b-dl0eum35ov] {
    font-size: 0.85rem;
    color: #3c4560;
}

.admin-courseedit-categories[b-dl0eum35ov] {
    max-height: 320px;
    overflow-y: auto;
    border: 1px solid #eef0f4;
    border-radius: 4px;
    padding: 0.5rem 0.75rem;
}

.admin-courseedit-category-row[b-dl0eum35ov] {
    display: block;
    font-size: 0.85rem;
    color: #3c4560;
    padding: 0.2rem 0;
}

.admin-courseedit-category-row input[b-dl0eum35ov] {
    margin-right: 0.4rem;
}

.admin-courseedit-muted[b-dl0eum35ov] {
    color: #7a8399;
    font-size: 0.78rem;
}

.admin-courseedit-module[b-dl0eum35ov] {
    border: 1px solid #eef0f4;
    border-radius: 4px;
    padding: 0.75rem;
    margin-bottom: 0.75rem;
}

.admin-courseedit-module-header[b-dl0eum35ov] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.admin-courseedit-module-header input[b-dl0eum35ov] {
    flex: 1;
    padding: 0.4rem 0.5rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 600;
}

.admin-courseedit-topic-row[b-dl0eum35ov] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
    margin-left: 1.25rem;
}

.admin-courseedit-topic-row input[b-dl0eum35ov] {
    flex: 1;
    padding: 0.4rem 0.5rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.85rem;
}

.admin-courseedit-remove-btn[b-dl0eum35ov] {
    border: none;
    background: #eef0f4;
    color: #a33;
    border-radius: 4px;
    padding: 0.35rem 0.6rem;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.admin-courseedit-add-btn[b-dl0eum35ov] {
    border: none;
    background: #eef0f4;
    color: #1b3a7a;
    border-radius: 4px;
    padding: 0.4rem 0.8rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    margin-left: 1.25rem;
}

.admin-courseedit-error[b-dl0eum35ov] {
    color: #a33;
    font-weight: 600;
    font-size: 0.88rem;
    margin-bottom: 1rem;
}

.admin-courseedit-success[b-dl0eum35ov] {
    color: #1b7a3a;
    font-weight: 600;
    font-size: 0.88rem;
    margin-bottom: 1rem;
}

.admin-courseedit-submit[b-dl0eum35ov] {
    border: none;
    border-radius: 4px;
    padding: 0.65rem 1.4rem;
    font-weight: 600;
    font-size: 0.92rem;
    cursor: pointer;
    background: #1b3a7a;
    color: #ffffff;
}

.admin-courseedit-submit:disabled[b-dl0eum35ov] {
    opacity: 0.6;
    cursor: default;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminCourses.razor.rz.scp.css */
.admin-courses-header[b-uqvd1opqq5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.admin-courses-new-link[b-uqvd1opqq5] {
    background: #1b3a7a;
    color: #ffffff;
    border-radius: 4px;
    padding: 0.5rem 0.9rem;
    font-weight: 600;
    font-size: 0.88rem;
    text-decoration: none;
}

.admin-courses-filters[b-uqvd1opqq5] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: end;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 1rem;
    margin-bottom: 1.25rem;
}

.admin-courses-filter-field[b-uqvd1opqq5] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 200px;
}

.admin-courses-filter-field label[b-uqvd1opqq5] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #55607a;
}

.admin-courses-filter-field input[b-uqvd1opqq5],
.admin-courses-filter-field select[b-uqvd1opqq5] {
    padding: 0.4rem 0.5rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.85rem;
}

.admin-courses-count[b-uqvd1opqq5] {
    color: #55607a;
    margin-bottom: 1rem;
    font-size: 0.88rem;
}

.admin-courses-empty[b-uqvd1opqq5] {
    color: #3c4560;
}

.admin-courses-table[b-uqvd1opqq5] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    overflow: hidden;
}

.admin-courses-table th[b-uqvd1opqq5],
.admin-courses-table td[b-uqvd1opqq5] {
    text-align: left;
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.87rem;
    vertical-align: top;
}

.admin-courses-table th[b-uqvd1opqq5] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.admin-courses-table tbody tr:last-child td[b-uqvd1opqq5] {
    border-bottom: none;
}

.admin-courses-muted[b-uqvd1opqq5] {
    color: #7a8399;
    font-size: 0.8rem;
}

.admin-courses-status[b-uqvd1opqq5] {
    display: inline-block;
    border-radius: 3px;
    padding: 0.15rem 0.5rem;
    font-size: 0.78rem;
    font-weight: 600;
}

.admin-courses-status-active[b-uqvd1opqq5] {
    background: #e5f4e9;
    color: #1b7a3a;
}

.admin-courses-status-inactive[b-uqvd1opqq5] {
    background: #eef0f4;
    color: #55607a;
}

.admin-courses-actions-cell a[b-uqvd1opqq5] {
    font-size: 0.85rem;
    font-weight: 600;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminCreateRegistration.razor.rz.scp.css */
.admin-newreg-back[b-lh6b1snmyw] {
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
}

.admin-newreg-intro[b-lh6b1snmyw] {
    color: #55607a;
    margin-bottom: 1.25rem;
    max-width: 640px;
}

.admin-newreg-form[b-lh6b1snmyw] {
    max-width: 720px;
}

.admin-newreg-fieldset[b-lh6b1snmyw] {
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.admin-newreg-fieldset legend[b-lh6b1snmyw] {
    font-weight: 600;
    color: #1b2a4a;
    font-size: 0.92rem;
    padding: 0 0.3rem;
}

.form-field[b-lh6b1snmyw] {
    margin-bottom: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-width: 420px;
}

.form-field label[b-lh6b1snmyw] {
    font-weight: 600;
    color: #55607a;
    font-size: 0.82rem;
}

.form-field input[b-lh6b1snmyw],
.form-field select[b-lh6b1snmyw],
.form-field textarea[b-lh6b1snmyw] {
    padding: 0.45rem 0.55rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.88rem;
}

.admin-newreg-checkbox-field[b-lh6b1snmyw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
}

.admin-newreg-checkbox-field label[b-lh6b1snmyw] {
    font-size: 0.85rem;
    color: #3c4560;
}

.admin-newreg-hint[b-lh6b1snmyw] {
    font-size: 0.82rem;
    color: #7a8399;
    margin: 0 0 0.85rem;
    max-width: 480px;
}

.admin-newreg-attendee-row[b-lh6b1snmyw] {
    display: grid;
    grid-template-columns: 1fr 1fr 1.3fr 1fr 1fr auto;
    gap: 0.5rem;
    margin-bottom: 0.6rem;
    align-items: center;
}

.admin-newreg-attendee-row input[b-lh6b1snmyw] {
    padding: 0.4rem 0.5rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.85rem;
}

.admin-newreg-remove-attendee[b-lh6b1snmyw] {
    border: none;
    background: #eef0f4;
    color: #a33;
    border-radius: 4px;
    padding: 0.4rem 0.6rem;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
}

.admin-newreg-remove-attendee:disabled[b-lh6b1snmyw] {
    opacity: 0.5;
    cursor: default;
}

.admin-newreg-add-attendee[b-lh6b1snmyw] {
    border: none;
    background: #eef0f4;
    color: #1b3a7a;
    border-radius: 4px;
    padding: 0.45rem 0.8rem;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.admin-newreg-error[b-lh6b1snmyw] {
    color: #a33;
    font-weight: 600;
    font-size: 0.88rem;
    margin-bottom: 1rem;
}

.admin-newreg-submit[b-lh6b1snmyw] {
    border: none;
    border-radius: 4px;
    padding: 0.65rem 1.4rem;
    font-weight: 600;
    font-size: 0.92rem;
    cursor: pointer;
    background: #1b3a7a;
    color: #ffffff;
}

.admin-newreg-submit:disabled[b-lh6b1snmyw] {
    opacity: 0.6;
    cursor: default;
}

.admin-newreg-success[b-lh6b1snmyw] {
    background: #e5f4e9;
    border: 1px solid #bfe4ca;
    border-radius: 6px;
    padding: 1.25rem 1.5rem;
    max-width: 480px;
}

.admin-newreg-success h2[b-lh6b1snmyw] {
    margin-top: 0;
    color: #1b7a3a;
    font-size: 1.1rem;
}

.admin-newreg-another-btn[b-lh6b1snmyw] {
    border: none;
    border-radius: 4px;
    padding: 0.5rem 0.9rem;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    background: #1b3a7a;
    color: #ffffff;
    margin-top: 0.5rem;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminDashboard.razor.rz.scp.css */
.admin-dashboard-cards[b-6p2a7mjkml] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0 2rem;
}

.admin-dashboard-card[b-6p2a7mjkml] {
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 1.1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.admin-dashboard-card-alert[b-6p2a7mjkml] {
    border-color: #e0a53a;
    background: #fff8ec;
}

.admin-dashboard-card-link[b-6p2a7mjkml] {
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease;
}

.admin-dashboard-card-link:hover[b-6p2a7mjkml] {
    border-color: #9aa5bd;
}

.admin-dashboard-card-count[b-6p2a7mjkml] {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    color: #14203a;
}

.admin-dashboard-card-alert .admin-dashboard-card-count[b-6p2a7mjkml] {
    color: #a6620a;
}

.admin-dashboard-card-label[b-6p2a7mjkml] {
    font-size: 0.85rem;
    color: #55607a;
}

.admin-dashboard-list[b-6p2a7mjkml] {
    margin-bottom: 2rem;
}

.admin-dashboard-list h2[b-6p2a7mjkml] {
    font-size: 1.1rem;
    margin-bottom: 0.6rem;
}

.admin-dashboard-table[b-6p2a7mjkml] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    overflow: hidden;
}

.admin-dashboard-table th[b-6p2a7mjkml],
.admin-dashboard-table td[b-6p2a7mjkml] {
    text-align: left;
    padding: 0.55rem 0.9rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.9rem;
}

.admin-dashboard-table th[b-6p2a7mjkml] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.admin-dashboard-table tbody tr:last-child td[b-6p2a7mjkml] {
    border-bottom: none;
}

.admin-dashboard-row-over td[b-6p2a7mjkml] {
    color: #a6300a;
    font-weight: 600;
}

.admin-dashboard-list-more[b-6p2a7mjkml] {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: #7a8399;
}

.admin-dashboard-all-clear[b-6p2a7mjkml] {
    color: #3c4560;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminEmailLog.razor.rz.scp.css */
.admin-emaillog-search[b-4yh5vhx6ij] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    max-width: 560px;
}

.admin-emaillog-search input[b-4yh5vhx6ij] {
    flex: 1;
    padding: 0.45rem 0.6rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.9rem;
}

.admin-emaillog-search button[b-4yh5vhx6ij] {
    padding: 0.45rem 0.9rem;
    border: 1px solid #1b2a4a;
    background: #1b2a4a;
    color: #fff;
    border-radius: 4px;
    font-size: 0.88rem;
    cursor: pointer;
}

.admin-emaillog-search .admin-emaillog-clear[b-4yh5vhx6ij] {
    background: #fff;
    color: #1b2a4a;
}

.admin-emaillog-count[b-4yh5vhx6ij] {
    color: #55607a;
    margin-bottom: 1rem;
}

.admin-emaillog-count-failed[b-4yh5vhx6ij] {
    color: #b42318;
}

.admin-emaillog-empty[b-4yh5vhx6ij] {
    color: #3c4560;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminEpicMappings.razor.rz.scp.css */
.admin-epicmap-intro[b-vem9ghrr80] {
    color: #55607a;
    margin-bottom: 1rem;
    max-width: 640px;
}

.admin-epicmap-notice[b-vem9ghrr80] {
    background: #fff8e6;
    border: 1px solid #f0d98c;
    color: #6b5a1e;
    padding: 0.65rem 0.9rem;
    border-radius: 6px;
    font-size: 0.88rem;
    margin-bottom: 1.25rem;
}

.admin-epicmap-notice code[b-vem9ghrr80] {
    background: rgba(0, 0, 0, 0.06);
    padding: 0.1rem 0.3rem;
    border-radius: 3px;
}

.admin-epicmap-sync[b-vem9ghrr80] {
    background: #f4f5f7;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 1rem;
    margin-bottom: 1.5rem;
}

.admin-epicmap-sync-btn[b-vem9ghrr80] {
    border: none;
    background: #1b2a4a;
    color: #fff;
    border-radius: 4px;
    padding: 0.5rem 1.1rem;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
}

.admin-epicmap-sync-btn:disabled[b-vem9ghrr80] {
    opacity: 0.6;
    cursor: default;
}

.admin-epicmap-sync-result[b-vem9ghrr80] {
    margin-top: 0.75rem;
    font-size: 0.88rem;
    color: #3c4560;
}

.admin-epicmap-sync-alert[b-vem9ghrr80] {
    color: #9a3b12;
    font-weight: 600;
}

.admin-epicmap-section-heading[b-vem9ghrr80] {
    font-size: 1.05rem;
    margin: 1.75rem 0 0.75rem;
}

.admin-epicmap-add-form[b-vem9ghrr80] {
    display: flex;
    gap: 0.6rem;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 0.5rem;
}

.admin-epicmap-add-form select[b-vem9ghrr80],
.admin-epicmap-add-form input[type="text"][b-vem9ghrr80] {
    padding: 0.4rem 0.6rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font-size: 0.88rem;
}

.admin-epicmap-add-form select[b-vem9ghrr80] {
    min-width: 260px;
}

.admin-epicmap-add-form input[type="text"][b-vem9ghrr80] {
    min-width: 220px;
}

.admin-epicmap-add-form button[b-vem9ghrr80] {
    border: none;
    background: #1b7a3a;
    color: #fff;
    border-radius: 4px;
    padding: 0.45rem 0.9rem;
    font-weight: 600;
    font-size: 0.88rem;
    cursor: pointer;
}

.admin-epicmap-add-form button:disabled[b-vem9ghrr80] {
    opacity: 0.6;
    cursor: default;
}

.admin-epicmap-error[b-vem9ghrr80] {
    color: #b3261e;
    font-size: 0.85rem;
    margin-top: 0.4rem;
}

.admin-epicmap-empty[b-vem9ghrr80] {
    color: #3c4560;
}

.admin-epicmap-table[b-vem9ghrr80] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    overflow: hidden;
}

.admin-epicmap-table th[b-vem9ghrr80],
.admin-epicmap-table td[b-vem9ghrr80] {
    text-align: left;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.88rem;
    vertical-align: top;
}

.admin-epicmap-table th[b-vem9ghrr80] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.admin-epicmap-table tbody tr:last-child td[b-vem9ghrr80] {
    border-bottom: none;
}

.admin-epicmap-delete-btn[b-vem9ghrr80] {
    border: 1px solid #c9cfdb;
    background: #fff;
    color: #b3261e;
    border-radius: 4px;
    padding: 0.3rem 0.7rem;
    font-weight: 600;
    font-size: 0.8rem;
    cursor: pointer;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminLeads.razor.rz.scp.css */
.admin-leads-filter[b-lstf2jw4ks] {
    margin-bottom: 1rem;
}

.admin-leads-filter-checkbox[b-lstf2jw4ks] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.88rem;
    color: #3c4560;
    cursor: pointer;
}

.admin-leads-count[b-lstf2jw4ks] {
    color: #55607a;
    margin-bottom: 1rem;
}

.admin-leads-empty[b-lstf2jw4ks] {
    color: #3c4560;
}

.admin-leads-table[b-lstf2jw4ks] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    overflow: hidden;
}

.admin-leads-table th[b-lstf2jw4ks],
.admin-leads-table td[b-lstf2jw4ks] {
    text-align: left;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.88rem;
    vertical-align: top;
}

.admin-leads-table th[b-lstf2jw4ks] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.admin-leads-table tbody tr:last-child td[b-lstf2jw4ks] {
    border-bottom: none;
}

.admin-leads-row-contacted[b-lstf2jw4ks] {
    background: #fafbfc;
    color: #7a8399;
}

.admin-leads-muted[b-lstf2jw4ks] {
    color: #7a8399;
    font-size: 0.82rem;
}

.admin-leads-status-cell[b-lstf2jw4ks] {
    min-width: 180px;
}

.admin-leads-contacted-badge[b-lstf2jw4ks] {
    display: block;
    color: #1b7a3a;
    font-weight: 600;
    font-size: 0.82rem;
    margin-bottom: 0.4rem;
}

.admin-leads-toggle-btn[b-lstf2jw4ks] {
    border: 1px solid #c9cfdb;
    background: #fff;
    color: #3c4560;
    border-radius: 4px;
    padding: 0.35rem 0.75rem;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
}

.admin-leads-toggle-btn-primary[b-lstf2jw4ks] {
    background: #1b7a3a;
    border-color: #1b7a3a;
    color: #ffffff;
}

.admin-leads-toggle-btn:disabled[b-lstf2jw4ks] {
    opacity: 0.6;
    cursor: default;
}

.admin-leads-row-message[b-lstf2jw4ks] {
    margin: 0.4rem 0 0;
    font-weight: 600;
    color: #1b2a4a;
    font-size: 0.82rem;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminPoOrderQueue.razor.rz.scp.css */
.po-queue-count[b-zzo4bvyenh] {
    color: #55607a;
    margin-bottom: 1rem;
}

.po-queue-all-clear[b-zzo4bvyenh] {
    color: #3c4560;
}

.po-queue-table[b-zzo4bvyenh] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    overflow: hidden;
}

.po-queue-table th[b-zzo4bvyenh],
.po-queue-table td[b-zzo4bvyenh] {
    text-align: left;
    padding: 0.65rem 0.9rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.88rem;
    vertical-align: top;
}

.po-queue-table th[b-zzo4bvyenh] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.po-queue-table tbody tr:last-child td[b-zzo4bvyenh] {
    border-bottom: none;
}

.po-queue-muted[b-zzo4bvyenh] {
    color: #7a8399;
    font-size: 0.82rem;
}

.po-queue-decision-cell[b-zzo4bvyenh] {
    min-width: 220px;
}

.po-queue-notes[b-zzo4bvyenh] {
    width: 100%;
    padding: 0.4rem 0.5rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.82rem;
    resize: vertical;
    margin-bottom: 0.5rem;
}

.po-queue-actions[b-zzo4bvyenh] {
    display: flex;
    gap: 0.5rem;
}

.po-queue-approve[b-zzo4bvyenh],
.po-queue-reject[b-zzo4bvyenh] {
    border: none;
    border-radius: 4px;
    padding: 0.4rem 0.85rem;
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
}

.po-queue-approve[b-zzo4bvyenh] {
    background: #1b7a3a;
    color: #ffffff;
}

.po-queue-reject[b-zzo4bvyenh] {
    background: #a33;
    color: #ffffff;
}

.po-queue-approve:disabled[b-zzo4bvyenh],
.po-queue-reject:disabled[b-zzo4bvyenh] {
    opacity: 0.6;
    cursor: default;
}

.po-queue-row-message[b-zzo4bvyenh] {
    margin: 0.5rem 0 0;
    font-weight: 600;
    color: #1b2a4a;
    font-size: 0.82rem;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminRegistrationDetail.razor.rz.scp.css */
.admin-regdetail-notfound[b-pky2epzytk] {
    color: #3c4560;
}

.admin-regdetail-back[b-pky2epzytk] {
    margin-bottom: 0.75rem;
    font-size: 0.85rem;
}

.admin-reg-status[b-pky2epzytk] {
    display: inline-block;
    border-radius: 3px;
    padding: 0.15rem 0.5rem;
    font-size: 0.78rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.admin-reg-status-confirmed[b-pky2epzytk] {
    background: #e5f4e9;
    color: #1b7a3a;
}

.admin-reg-status-pendingpoapproval[b-pky2epzytk],
.admin-reg-status-pendingpayment[b-pky2epzytk] {
    background: #fff3d9;
    color: #a6620a;
}

.admin-reg-status-cancelled[b-pky2epzytk],
.admin-reg-status-rejected[b-pky2epzytk] {
    background: #fbe6e6;
    color: #a33;
}

.admin-regdetail-section[b-pky2epzytk] {
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 1.1rem 1.25rem;
    margin: 1rem 0;
}

.admin-regdetail-section h2[b-pky2epzytk] {
    font-size: 1.05rem;
    margin: 0 0 0.75rem;
}

.admin-regdetail-dl[b-pky2epzytk] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.6rem 1.5rem;
    margin: 0;
}

.admin-regdetail-dl div[b-pky2epzytk] {
    display: flex;
    flex-direction: column;
}

.admin-regdetail-dl dt[b-pky2epzytk] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #7a8399;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.admin-regdetail-dl dd[b-pky2epzytk] {
    margin: 0;
    font-size: 0.92rem;
    color: #1b2a4a;
}

.admin-regdetail-timeline[b-pky2epzytk] {
    margin: 0;
    padding-left: 1.2rem;
    font-size: 0.9rem;
}

.admin-regdetail-timeline li[b-pky2epzytk] {
    margin-bottom: 0.35rem;
}

.admin-regdetail-attendees[b-pky2epzytk] {
    margin: 0;
    padding-left: 1.2rem;
    font-size: 0.9rem;
}

.admin-regdetail-attendees li[b-pky2epzytk] {
    margin-bottom: 0.3rem;
}

.admin-regdetail-transactions[b-pky2epzytk] {
    width: 100%;
    border-collapse: collapse;
}

.admin-regdetail-transactions th[b-pky2epzytk],
.admin-regdetail-transactions td[b-pky2epzytk] {
    text-align: left;
    padding: 0.5rem 0.7rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.85rem;
    vertical-align: top;
}

.admin-regdetail-transactions th[b-pky2epzytk] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.admin-regdetail-cancel .form-field[b-pky2epzytk] {
    margin-bottom: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-width: 420px;
}

.admin-regdetail-cancel label[b-pky2epzytk] {
    font-size: 0.82rem;
    font-weight: 600;
    color: #55607a;
}

.admin-regdetail-cancel textarea[b-pky2epzytk],
.admin-regdetail-cancel input[b-pky2epzytk],
.admin-regdetail-cancel select[b-pky2epzytk] {
    padding: 0.4rem 0.5rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.88rem;
}

.admin-regdetail-refund-fieldset[b-pky2epzytk] {
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 0.85rem 1rem;
    margin-bottom: 0.85rem;
}

.admin-regdetail-refund-fieldset legend[b-pky2epzytk] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #55607a;
    padding: 0 0.3rem;
}

.admin-regdetail-cancel-btn[b-pky2epzytk] {
    background: #a33;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    padding: 0.55rem 1rem;
    font-weight: 600;
    font-size: 0.88rem;
    cursor: pointer;
}

.admin-regdetail-cancel-btn:disabled[b-pky2epzytk] {
    opacity: 0.6;
    cursor: default;
}

.admin-regdetail-already-decided[b-pky2epzytk] {
    color: #3c4560;
}

.admin-regdetail-message[b-pky2epzytk] {
    margin-top: 0.75rem;
    font-weight: 600;
    color: #1b2a4a;
    font-size: 0.88rem;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminRegistrations.razor.rz.scp.css */
.admin-reg-header[b-ggtc3ll7rt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.admin-reg-new-link[b-ggtc3ll7rt] {
    background: #1b3a7a;
    color: #ffffff;
    border-radius: 4px;
    padding: 0.5rem 0.9rem;
    font-weight: 600;
    font-size: 0.88rem;
    text-decoration: none;
}

.admin-reg-filters[b-ggtc3ll7rt] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: end;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 1rem;
    margin-bottom: 1.25rem;
}

.admin-reg-filter-field[b-ggtc3ll7rt] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 160px;
}

.admin-reg-filter-field label[b-ggtc3ll7rt] {
    font-size: 0.78rem;
    font-weight: 600;
    color: #55607a;
}

.admin-reg-filter-field input[b-ggtc3ll7rt],
.admin-reg-filter-field select[b-ggtc3ll7rt] {
    padding: 0.4rem 0.5rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.85rem;
}

.admin-reg-filter-actions[b-ggtc3ll7rt] {
    display: flex;
    gap: 0.5rem;
}

.admin-reg-search-btn[b-ggtc3ll7rt],
.admin-reg-clear-btn[b-ggtc3ll7rt] {
    border: none;
    border-radius: 4px;
    padding: 0.5rem 0.9rem;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
}

.admin-reg-search-btn[b-ggtc3ll7rt] {
    background: #1b3a7a;
    color: #ffffff;
}

.admin-reg-clear-btn[b-ggtc3ll7rt] {
    background: #eef0f4;
    color: #3c4560;
}

.admin-reg-search-btn:disabled[b-ggtc3ll7rt],
.admin-reg-clear-btn:disabled[b-ggtc3ll7rt] {
    opacity: 0.6;
    cursor: default;
}

.admin-reg-count[b-ggtc3ll7rt] {
    color: #55607a;
    margin-bottom: 1rem;
    font-size: 0.88rem;
}

.admin-reg-empty[b-ggtc3ll7rt] {
    color: #3c4560;
}

.admin-reg-table[b-ggtc3ll7rt] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    overflow: hidden;
}

.admin-reg-table th[b-ggtc3ll7rt],
.admin-reg-table td[b-ggtc3ll7rt] {
    text-align: left;
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.87rem;
    vertical-align: top;
}

.admin-reg-table th[b-ggtc3ll7rt] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.admin-reg-table tbody tr:last-child td[b-ggtc3ll7rt] {
    border-bottom: none;
}

.admin-reg-muted[b-ggtc3ll7rt] {
    color: #7a8399;
    font-size: 0.8rem;
}

.admin-reg-status[b-ggtc3ll7rt] {
    display: inline-block;
    border-radius: 3px;
    padding: 0.15rem 0.5rem;
    font-size: 0.78rem;
    font-weight: 600;
}

.admin-reg-status-confirmed[b-ggtc3ll7rt] {
    background: #e5f4e9;
    color: #1b7a3a;
}

.admin-reg-status-pendingpoapproval[b-ggtc3ll7rt],
.admin-reg-status-pendingpayment[b-ggtc3ll7rt] {
    background: #fff3d9;
    color: #a6620a;
}

.admin-reg-status-cancelled[b-ggtc3ll7rt],
.admin-reg-status-rejected[b-ggtc3ll7rt] {
    background: #fbe6e6;
    color: #a33;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminSearchActivity.razor.rz.scp.css */
.admin-search-range[b-plqqwvy8jd] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1.25rem;
}

.admin-search-range button[b-plqqwvy8jd] {
    padding: 0.4rem 0.85rem;
    border: 1px solid #c9cfdb;
    background: #fff;
    color: #1b2a4a;
    border-radius: 4px;
    font-size: 0.85rem;
    cursor: pointer;
}

.admin-search-range button.is-active[b-plqqwvy8jd] {
    background: #1b2a4a;
    border-color: #1b2a4a;
    color: #fff;
}

.admin-search-stats[b-plqqwvy8jd] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.admin-search-stat[b-plqqwvy8jd] {
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 0.85rem 1.25rem;
    min-width: 150px;
    display: flex;
    flex-direction: column;
}

.admin-search-stat-value[b-plqqwvy8jd] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1b2a4a;
}

.admin-search-stat-label[b-plqqwvy8jd] {
    font-size: 0.85rem;
    color: #55607a;
}

.admin-search-stat.is-warning .admin-search-stat-value[b-plqqwvy8jd] {
    color: #b42318;
}

.admin-search-section[b-plqqwvy8jd] {
    margin-bottom: 2rem;
}

.admin-search-section h2[b-plqqwvy8jd] {
    font-size: 1.1rem;
    color: #1b2a4a;
    margin: 0 0 0.5rem;
}

.admin-search-hint[b-plqqwvy8jd] {
    color: #55607a;
    font-size: 0.85rem;
    margin: 0 0 0.75rem;
}

.admin-search-empty[b-plqqwvy8jd] {
    color: #3c4560;
}

.admin-search-table[b-plqqwvy8jd] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    overflow: hidden;
}

.admin-search-table-narrow[b-plqqwvy8jd] {
    width: auto;
    min-width: 320px;
}

.admin-search-table th[b-plqqwvy8jd],
.admin-search-table td[b-plqqwvy8jd] {
    text-align: left;
    padding: 0.55rem 0.8rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.86rem;
    vertical-align: top;
}

.admin-search-table th[b-plqqwvy8jd] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.admin-search-table tbody tr:last-child td[b-plqqwvy8jd] {
    border-bottom: none;
}

.admin-search-table .num[b-plqqwvy8jd] {
    text-align: right;
    white-space: nowrap;
}

.admin-search-zero[b-plqqwvy8jd] {
    color: #b42318;
    font-weight: 600;
}

.admin-search-nowrap[b-plqqwvy8jd] {
    white-space: nowrap;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminSessionEdit.razor.rz.scp.css */
.admin-sessionedit-back[b-r6f22abiwq] {
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
}

.admin-sessionedit-notice[b-r6f22abiwq] {
    background: #fff3d9;
    border: 1px solid #f0d9a6;
    color: #7a5200;
    border-radius: 6px;
    padding: 0.75rem 1rem;
    max-width: 640px;
    font-size: 0.87rem;
    margin-bottom: 1rem;
}

.admin-sessionedit-form[b-r6f22abiwq] {
    max-width: 640px;
}

.admin-sessionedit-fieldset[b-r6f22abiwq] {
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.admin-sessionedit-fieldset legend[b-r6f22abiwq] {
    font-weight: 600;
    color: #1b2a4a;
    font-size: 0.92rem;
    padding: 0 0.3rem;
}

.form-field[b-r6f22abiwq] {
    margin-bottom: 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-width: 420px;
}

.form-field label[b-r6f22abiwq] {
    font-weight: 600;
    color: #55607a;
    font-size: 0.82rem;
}

.form-field input[b-r6f22abiwq],
.form-field select[b-r6f22abiwq],
.form-field textarea[b-r6f22abiwq] {
    padding: 0.45rem 0.55rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.88rem;
}

.admin-sessionedit-hint[b-r6f22abiwq] {
    font-size: 0.78rem;
    color: #7a8399;
    margin: 0;
}

.admin-sessionedit-checkbox-field[b-r6f22abiwq] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.6rem;
}

.admin-sessionedit-checkbox-field label[b-r6f22abiwq] {
    font-size: 0.85rem;
    color: #3c4560;
}

.admin-sessionedit-occurrences[b-r6f22abiwq] {
    margin-top: 0.5rem;
    padding-left: 0.25rem;
}

.admin-sessionedit-occurrence-row[b-r6f22abiwq] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    align-items: center;
}

.admin-sessionedit-occurrence-row input[b-r6f22abiwq] {
    padding: 0.4rem 0.5rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
    font-size: 0.85rem;
}

.admin-sessionedit-remove-btn[b-r6f22abiwq] {
    border: none;
    background: #eef0f4;
    color: #a33;
    border-radius: 4px;
    padding: 0.35rem 0.6rem;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
}

.admin-sessionedit-add-btn[b-r6f22abiwq] {
    border: none;
    background: #eef0f4;
    color: #1b3a7a;
    border-radius: 4px;
    padding: 0.4rem 0.8rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}

.admin-sessionedit-error[b-r6f22abiwq] {
    color: #a33;
    font-weight: 600;
    font-size: 0.88rem;
    margin-bottom: 1rem;
}

.admin-sessionedit-success[b-r6f22abiwq] {
    color: #1b7a3a;
    font-weight: 600;
    font-size: 0.88rem;
    margin-bottom: 1rem;
}

.admin-sessionedit-submit[b-r6f22abiwq] {
    border: none;
    border-radius: 4px;
    padding: 0.65rem 1.4rem;
    font-weight: 600;
    font-size: 0.92rem;
    cursor: pointer;
    background: #1b3a7a;
    color: #ffffff;
}

.admin-sessionedit-submit:disabled[b-r6f22abiwq] {
    opacity: 0.6;
    cursor: default;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminSessions.razor.rz.scp.css */
.admin-sessions-back[b-x2n9ieqzh1] {
    margin-bottom: 0.5rem;
    font-size: 0.85rem;
}

.admin-sessions-header[b-x2n9ieqzh1] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.4rem;
}

.admin-sessions-new-link[b-x2n9ieqzh1] {
    background: #1b3a7a;
    color: #ffffff;
    border-radius: 4px;
    padding: 0.5rem 0.9rem;
    font-weight: 600;
    font-size: 0.88rem;
    text-decoration: none;
}

.admin-sessions-edit-link[b-x2n9ieqzh1] {
    margin-bottom: 1.25rem;
    font-size: 0.85rem;
}

.admin-sessions-empty[b-x2n9ieqzh1] {
    color: #3c4560;
}

.admin-sessions-table[b-x2n9ieqzh1] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    overflow: hidden;
}

.admin-sessions-table th[b-x2n9ieqzh1],
.admin-sessions-table td[b-x2n9ieqzh1] {
    text-align: left;
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.87rem;
    vertical-align: top;
}

.admin-sessions-table th[b-x2n9ieqzh1] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.admin-sessions-table tbody tr:last-child td[b-x2n9ieqzh1] {
    border-bottom: none;
}

.admin-sessions-status[b-x2n9ieqzh1] {
    display: inline-block;
    border-radius: 3px;
    padding: 0.15rem 0.5rem;
    font-size: 0.78rem;
    font-weight: 600;
}

.admin-sessions-status-scheduled[b-x2n9ieqzh1] {
    background: #e5f4e9;
    color: #1b7a3a;
}

.admin-sessions-status-cancelled[b-x2n9ieqzh1] {
    background: #fbe6e6;
    color: #a33;
}

.admin-sessions-status-completed[b-x2n9ieqzh1] {
    background: #eef0f4;
    color: #55607a;
}

.admin-sessions-actions-cell[b-x2n9ieqzh1] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-items: flex-start;
    min-width: 140px;
}

.admin-sessions-action-btn[b-x2n9ieqzh1] {
    border: none;
    background: #eef0f4;
    color: #1b3a7a;
    border-radius: 4px;
    padding: 0.35rem 0.6rem;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
}

.admin-sessions-action-btn:disabled[b-x2n9ieqzh1] {
    opacity: 0.5;
    cursor: default;
}

.admin-sessions-cancel-btn[b-x2n9ieqzh1] {
    color: #a33;
}

.admin-sessions-row-message[b-x2n9ieqzh1] {
    font-size: 0.78rem;
    color: #55607a;
    margin: 0;
}
/* _content/Springhouse.Web/Components/Pages/Admin/AdminTaxonomy.razor.rz.scp.css */
.admin-taxonomy-intro[b-4v15t8e0qr] {
    color: #55607a;
    font-size: 0.9rem;
    max-width: 720px;
    margin-bottom: 1.25rem;
}

.admin-taxonomy-tabs[b-4v15t8e0qr] {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #e1e4ea;
}

.admin-taxonomy-tab[b-4v15t8e0qr] {
    border: none;
    background: none;
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #55607a;
    cursor: pointer;
    border-bottom: 2px solid transparent;
}

.admin-taxonomy-tab-active[b-4v15t8e0qr] {
    color: #1b3a7a;
    border-bottom-color: #1b3a7a;
}

.admin-taxonomy-toolbar[b-4v15t8e0qr] {
    margin-bottom: 1rem;
}

.admin-taxonomy-add-root-btn[b-4v15t8e0qr] {
    background: #1b3a7a;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    padding: 0.5rem 0.9rem;
    font-weight: 600;
    font-size: 0.88rem;
    cursor: pointer;
}

.admin-taxonomy-empty[b-4v15t8e0qr] {
    color: #3c4560;
}

.admin-taxonomy-table[b-4v15t8e0qr] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.admin-taxonomy-table th[b-4v15t8e0qr],
.admin-taxonomy-table td[b-4v15t8e0qr] {
    text-align: left;
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.87rem;
    vertical-align: top;
}

.admin-taxonomy-table th[b-4v15t8e0qr] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.admin-taxonomy-table tbody tr:last-child td[b-4v15t8e0qr] {
    border-bottom: none;
}

.admin-taxonomy-muted[b-4v15t8e0qr] {
    color: #7a8399;
    font-size: 0.8rem;
}

.admin-taxonomy-status[b-4v15t8e0qr] {
    display: inline-block;
    border-radius: 3px;
    padding: 0.15rem 0.5rem;
    font-size: 0.78rem;
    font-weight: 600;
}

.admin-taxonomy-status-active[b-4v15t8e0qr] {
    background: #e5f4e9;
    color: #1b7a3a;
}

.admin-taxonomy-status-inactive[b-4v15t8e0qr] {
    background: #eef0f4;
    color: #55607a;
}

.admin-taxonomy-actions-cell[b-4v15t8e0qr] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
    min-width: 260px;
}

.admin-taxonomy-action-btn[b-4v15t8e0qr] {
    border: none;
    background: #eef0f4;
    color: #1b3a7a;
    border-radius: 4px;
    padding: 0.35rem 0.6rem;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
}

.admin-taxonomy-action-btn:disabled[b-4v15t8e0qr] {
    opacity: 0.5;
    cursor: default;
}

.admin-taxonomy-delete-btn[b-4v15t8e0qr] {
    color: #a33;
}

.admin-taxonomy-row-message[b-4v15t8e0qr] {
    flex-basis: 100%;
    font-size: 0.78rem;
    color: #55607a;
    margin: 0.2rem 0 0;
}

.admin-taxonomy-fieldset[b-4v15t8e0qr] {
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    max-width: 600px;
}

.admin-taxonomy-fieldset legend[b-4v15t8e0qr] {
    font-weight: 600;
    color: #1b2a4a;
    font-size: 0.92rem;
    padding: 0 0.3rem;
}

.admin-taxonomy-hint[b-4v15t8e0qr] {
    font-size: 0.8rem;
    color: #7a8399;
    margin: 0.2rem 0 0.6rem;
}

.admin-taxonomy-checkbox-field[b-4v15t8e0qr] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.admin-taxonomy-checkbox-field label[b-4v15t8e0qr] {
    font-size: 0.85rem;
    color: #3c4560;
}

.admin-taxonomy-error[b-4v15t8e0qr] {
    color: #a33;
    font-weight: 600;
    font-size: 0.88rem;
    margin-bottom: 1rem;
}

.admin-taxonomy-form-actions[b-4v15t8e0qr] {
    display: flex;
    gap: 0.6rem;
}

.admin-taxonomy-submit[b-4v15t8e0qr] {
    border: none;
    border-radius: 4px;
    padding: 0.55rem 1.2rem;
    font-weight: 600;
    font-size: 0.88rem;
    cursor: pointer;
    background: #1b3a7a;
    color: #ffffff;
}

.admin-taxonomy-submit:disabled[b-4v15t8e0qr] {
    opacity: 0.6;
    cursor: default;
}

.admin-taxonomy-cancel[b-4v15t8e0qr] {
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    padding: 0.55rem 1.2rem;
    font-weight: 600;
    font-size: 0.88rem;
    cursor: pointer;
    background: #fff;
    color: #3c4560;
}

.admin-taxonomy-cancel:disabled[b-4v15t8e0qr] {
    opacity: 0.6;
    cursor: default;
}
/* _content/Springhouse.Web/Components/Pages/ArticleDetail.razor.rz.scp.css */
.article-detail[b-e46mcdhlzx] {
    max-width: 760px;
}

.article-detail h1[b-e46mcdhlzx] {
    color: #1b2a4a;
    margin: 0.5rem 0 0.5rem;
}

.article-dek[b-e46mcdhlzx] {
    font-size: 1.05rem;
    color: #333333;
    margin: 0 0 0.5rem;
}

.article-meta[b-e46mcdhlzx] {
    font-size: 0.85rem;
    color: #6b7280;
    margin: 0 0 1.5rem;
}

.article-detail h2[b-e46mcdhlzx] {
    color: #1b2a4a;
    font-size: 1.15rem;
    margin: 1.5rem 0 0.6rem;
}

.article-detail p[b-e46mcdhlzx] {
    line-height: 1.6;
    color: #333333;
    margin: 0 0 1rem;
}

.article-detail ul[b-e46mcdhlzx] {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
    line-height: 1.6;
    color: #333333;
}

.article-detail ul li[b-e46mcdhlzx] {
    margin-bottom: 0.4rem;
}

/* "::deep" is required here, not just ".article-detail .share-links" - ShareLinks.razor is
   a child component with no CaptureUnmatchedValues attribute splatting, so Blazor's normal
   CSS-isolation scope attribute never reaches its own rendered markup. "::deep" is the
   documented way to reach into child-component output from a parent's scoped stylesheet
   regardless of that - see ShareLinks.razor's doc comment for why it's used here (a real
   share-links block, same as CourseDetail.razor). */
.article-detail[b-e46mcdhlzx]  .share-links {
    margin-top: 2rem;
}
/* _content/Springhouse.Web/Components/Pages/Careers.razor.rz.scp.css */
/* Careers page (task-list section 4). Single-column content sections + a 3-card grid for
   the job experience categories. */

.careers-section[b-aosq39ew96] {
    max-width: 800px;
    margin: 0 0 2.5rem;
}

.careers-section h2[b-aosq39ew96] {
    color: #1b2a4a;
    margin: 0 0 0.75rem;
}

.careers-section p[b-aosq39ew96] {
    color: #333333;
    line-height: 1.6;
    margin: 0 0 1rem;
}

.careers-skills[b-aosq39ew96] {
    color: #333333;
    line-height: 1.6;
    margin: 0 0 1.25rem;
}

.careers-cta[b-aosq39ew96] {
    display: inline-block;
    background: #2d4a8a;
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
    padding: 0.65rem 1.4rem;
    border-radius: 4px;
}

.careers-cta:hover[b-aosq39ew96] {
    background: #1b2a4a;
}

.careers-category-grid[b-aosq39ew96] {
    max-width: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.careers-category-card[b-aosq39ew96] {
    background: #f4f6fb;
    border-radius: 4px;
    padding: 1.25rem;
}

.careers-category-card h3[b-aosq39ew96] {
    margin: 0 0 0.5rem;
    color: #1b2a4a;
    font-size: 1rem;
}

.careers-category-card p[b-aosq39ew96] {
    margin: 0;
    font-size: 0.9rem;
    color: #333333;
}

.careers-eeo[b-aosq39ew96] {
    border-top: 1px solid #e2e6ee;
    padding-top: 1.5rem;
}

.careers-eeo p[b-aosq39ew96] {
    font-size: 0.875rem;
}

@media (max-width: 900px) {
    .careers-category-grid[b-aosq39ew96] {
        grid-template-columns: 1fr;
    }
}
/* _content/Springhouse.Web/Components/Pages/Contact.razor.rz.scp.css */
/* Contact page (task-list section 4). Two-column layout: form embed on the left, contact
   details + social links on the right, matching the live page's "Connect with Springhouse" /
   "Location and Contact Info" side-by-side arrangement. */

.contact-layout[b-z66bbv4mgm] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 2.5rem;
    align-items: start;
    margin-top: 1rem;
}

.contact-form-col h2[b-z66bbv4mgm],
.contact-info-col h2[b-z66bbv4mgm] {
    color: #1b2a4a;
    margin: 0 0 0.5rem;
}

.contact-form-col p[b-z66bbv4mgm] {
    color: #333333;
    margin: 0 0 1.25rem;
}

.contact-form-col iframe[b-z66bbv4mgm] {
    width: 100%;
    height: 620px;
    border: none;
}

.contact-info-col[b-z66bbv4mgm] {
    background: #f4f6fb;
    border-radius: 4px;
    padding: 1.5rem;
}

.contact-details[b-z66bbv4mgm] {
    margin: 0 0 1.5rem;
}

.contact-details dt[b-z66bbv4mgm] {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #2d4a8a;
    margin-top: 1rem;
}

.contact-details dt:first-child[b-z66bbv4mgm] {
    margin-top: 0;
}

.contact-details dd[b-z66bbv4mgm] {
    margin: 0.2rem 0 0;
    color: #1b1b1b;
}

.contact-info-col h3[b-z66bbv4mgm] {
    margin: 0 0 0.6rem;
    font-size: 1rem;
    color: #1b2a4a;
}

.social-list[b-z66bbv4mgm] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.social-list a[b-z66bbv4mgm] {
    text-decoration: none;
    color: #2d4a8a;
    font-size: 0.9rem;
}

.social-list a:hover[b-z66bbv4mgm] {
    text-decoration: underline;
}

@media (max-width: 900px) {
    .contact-layout[b-z66bbv4mgm] {
        grid-template-columns: 1fr;
    }
}
/* _content/Springhouse.Web/Components/Pages/CourseCatalog.razor.rz.scp.css */
/* This page's layout/grid/empty-state styling lives in wwwroot/css/site.css (shared,
   not CSS-isolated), not here - CourseCatalogCategory.razor needs to look identical and
   Blazor CSS isolation only scopes a .razor.css file to its own component. See the comment
   above ".catalog-layout" in site.css for the full reasoning. Nothing page-specific to
   CourseCatalog.razor (as opposed to the category-browse page) needs its own styling yet. */
/* _content/Springhouse.Web/Components/Pages/CourseDetail.razor.rz.scp.css */
.course-detail-header h1[b-phknfis02a] {
    color: #1b2a4a;
    margin: 0.5rem 0 0.75rem;
}

.course-planning-info[b-phknfis02a] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin: 0 0 1.5rem;
}

.course-planning-item[b-phknfis02a] {
    display: flex;
    flex-direction: column;
}

.course-planning-item dt[b-phknfis02a] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
}

.course-planning-item dd[b-phknfis02a] {
    margin: 0.15rem 0 0;
    font-weight: 600;
    color: #1b2a4a;
}

.course-detail-layout[b-phknfis02a] {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 2.5rem;
    align-items: start;
}

.course-section[b-phknfis02a] {
    margin: 0 0 2rem;
}

.course-section h2[b-phknfis02a] {
    color: #1b2a4a;
    font-size: 1.25rem;
    margin: 0 0 0.75rem;
}

.course-section p[b-phknfis02a] {
    line-height: 1.6;
    color: #333333;
}

.course-module[b-phknfis02a] {
    margin: 0 0 1.25rem;
}

.course-module h3[b-phknfis02a] {
    font-size: 1rem;
    color: #1b2a4a;
    margin: 0 0 0.4rem;
}

.session-list[b-phknfis02a] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.session-row[b-phknfis02a] {
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1rem 1.25rem;
    margin-bottom: 0.75rem;
}

.session-info[b-phknfis02a] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

.session-date[b-phknfis02a] {
    font-weight: 600;
    color: #1b2a4a;
}

.session-mode[b-phknfis02a] {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #2d4a8a;
}

.session-time[b-phknfis02a] {
    font-size: 0.9rem;
    color: #555555;
}

.session-price[b-phknfis02a] {
    font-weight: 600;
    color: #1b2a4a;
    margin-left: auto;
}

.session-tentative-badge[b-phknfis02a] {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6b5a1e;
    background: #fff8e6;
    border: 1px solid #f0d98c;
    border-radius: 3px;
    padding: 0.15rem 0.5rem;
}

.session-occurrences[b-phknfis02a] {
    margin: 0.6rem 0 0;
    padding-left: 1.25rem;
    font-size: 0.85rem;
    color: #555555;
}

.session-full[b-phknfis02a] {
    display: inline-block;
    margin-top: 0.75rem;
    font-weight: 600;
    color: #a33;
}

.session-register-cta[b-phknfis02a] {
    display: inline-block;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #2d4a8a;
    text-decoration: none;
}

.session-register-cta:hover[b-phknfis02a] {
    text-decoration: underline;
}

.course-detail-sidebar h2[b-phknfis02a] {
    font-size: 1.1rem;
    color: #1b2a4a;
    margin: 0 0 1rem;
}

.related-course-list[b-phknfis02a] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (max-width: 900px) {
    .course-detail-layout[b-phknfis02a] {
        grid-template-columns: 1fr;
    }
}
/* _content/Springhouse.Web/Components/Pages/Home.razor.rz.scp.css */
/* Home page (task-list section 3). Palette matches the header/footer navy
   (#1b2a4a / #12203b) and accent blue (#2d4a8a) established in Session 3's site shell,
   so the home page reads as one consistent site rather than a bolted-on design. */

/* Full-bleed breakout: <main class="site-main"> in MainLayout.razor.css caps its content
   at max-width: 1200px with its own padding (by design - keeps simple text pages like the
   404/Error pages readably centered without each of them needing their own container div).
   The three sections below have full-width background bands, so they need to escape that
   cap; this is the standard "100vw + negative margin" breakout technique. Each one still
   centers its actual content at 1200px via its own `-inner` wrapper below, matching the
   header/footer's container width. (`overflow-x: hidden` on html/body in site.css guards
   against the sub-pixel horizontal scrollbar this trick can introduce.) */
.hero[b-u7efnjsn80],
.service-tiles[b-u7efnjsn80],
.request-call[b-u7efnjsn80] {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.hero[b-u7efnjsn80] {
    background: linear-gradient(135deg, #1b2a4a 0%, #12203b 100%);
    color: #ffffff;
    text-align: center;
}

.hero-inner[b-u7efnjsn80] {
    max-width: 900px;
    margin: 0 auto;
    padding: 4.5rem 1.5rem;
}

.hero h1[b-u7efnjsn80] {
    font-size: 2.5rem;
    margin: 0 0 1rem;
    line-height: 1.2;
    /* Reserve two lines so the banner doesn't change height as taglines of different
       lengths rotate ("...Excel" fits on one line, "...Power Automate" may wrap). */
    min-height: 2.4em;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 640px) {
    .hero h1[b-u7efnjsn80] {
        font-size: 1.75rem;
        min-height: 3.6em;
    }
}

.hero-link[b-u7efnjsn80] {
    display: inline-block;
    margin-bottom: 1.75rem;
    color: #cfe0ff;
    font-weight: 600;
    font-size: 1.05rem;
    text-decoration: none;
    border-bottom: 1px solid rgba(207, 224, 255, 0.5);
    padding-bottom: 2px;
}

.hero-link:hover[b-u7efnjsn80],
.hero-link:focus-visible[b-u7efnjsn80] {
    color: #ffffff;
    border-bottom-color: #ffffff;
}

.hero-dots[b-u7efnjsn80] {
    display: flex;
    justify-content: center;
    gap: 0.6rem;
}

.hero-dot[b-u7efnjsn80] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1px solid #cbd4e6;
    background: transparent;
    padding: 0;
    cursor: pointer;
}

.hero-dot.is-active[b-u7efnjsn80] {
    background: #ffffff;
    border-color: #ffffff;
}

/* hero/service-tiles/request-call are full-bleed (see breakout rule above), so their
   `-inner` wrappers need the 1200px cap + horizontal padding themselves, matching the
   header/footer's container width. */
.service-tiles-inner[b-u7efnjsn80],
.request-call-inner[b-u7efnjsn80] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 3rem 1.5rem;
}

/* feature-grid/teasers/about-summary are NOT full-bleed - they render inside the
   already width-capped <main class="site-main"> (see MainLayout.razor.css), which
   already supplies the 1200px cap and horizontal padding, so these only need their own
   vertical spacing. */
.feature-grid-inner[b-u7efnjsn80],
.teasers-inner[b-u7efnjsn80],
.about-summary-inner[b-u7efnjsn80] {
    padding: 3rem 0;
}

.service-tiles[b-u7efnjsn80] {
    background: #f4f6fb;
}

.service-tiles-inner[b-u7efnjsn80] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.service-tile[b-u7efnjsn80] {
    background: #ffffff;
    border-top: 3px solid #2d4a8a;
    border-radius: 4px;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.service-tile h2[b-u7efnjsn80] {
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    color: #2d4a8a;
    margin: 0 0 0.6rem;
}

.service-tile p[b-u7efnjsn80] {
    font-size: 0.95rem;
    margin: 0 0 1rem;
    color: #333333;
}

.tile-cta[b-u7efnjsn80] {
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    color: #1b2a4a;
}

.tile-cta:hover[b-u7efnjsn80] {
    text-decoration: underline;
}

.feature-grid-inner[b-u7efnjsn80] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
}

.feature-card[b-u7efnjsn80] {
    padding: 1.5rem;
    border: 1px solid #e2e6ee;
    border-radius: 4px;
}

.feature-card h3[b-u7efnjsn80] {
    margin: 0 0 0.6rem;
    color: #1b2a4a;
}

.feature-card p[b-u7efnjsn80] {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #333333;
    margin: 0 0 1rem;
}

.feature-card a[b-u7efnjsn80] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #2d4a8a;
    text-decoration: none;
}

.feature-card a:hover[b-u7efnjsn80] {
    text-decoration: underline;
}

.request-call[b-u7efnjsn80] {
    background: #f4f6fb;
}

.request-call-inner[b-u7efnjsn80] {
    max-width: 800px;
    text-align: center;
}

.request-call h2[b-u7efnjsn80] {
    color: #1b2a4a;
    margin: 0 0 0.5rem;
}

.request-call iframe[b-u7efnjsn80] {
    width: 100%;
    height: 620px;
    border: none;
    margin-top: 1.5rem;
}

.teasers h2[b-u7efnjsn80],
.about-summary h2[b-u7efnjsn80] {
    color: #1b2a4a;
    margin: 0 0 1.5rem;
}

.teaser-grid[b-u7efnjsn80] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
}

.teaser-card[b-u7efnjsn80] {
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1.25rem;
}

.teaser-kind[b-u7efnjsn80] {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #2d4a8a;
    margin-bottom: 0.4rem;
}

.teaser-card h3[b-u7efnjsn80] {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
}

.teaser-card h3 a[b-u7efnjsn80] {
    color: #1b2a4a;
    text-decoration: none;
}

.teaser-card h3 a:hover[b-u7efnjsn80] {
    text-decoration: underline;
}

.teaser-card p[b-u7efnjsn80] {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #333333;
    margin: 0;
}

.about-summary-inner p[b-u7efnjsn80] {
    font-size: 1rem;
    line-height: 1.6;
    max-width: 800px;
}

.about-summary-inner ul[b-u7efnjsn80] {
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.9rem 2rem;
}

.about-summary-inner li[b-u7efnjsn80] {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #333333;
}

.about-summary-inner li strong[b-u7efnjsn80] {
    color: #1b2a4a;
}

@media (max-width: 900px) {
    .service-tiles-inner[b-u7efnjsn80] {
        grid-template-columns: repeat(2, 1fr);
    }

    .feature-grid-inner[b-u7efnjsn80],
    .teaser-grid[b-u7efnjsn80] {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-summary-inner ul[b-u7efnjsn80] {
        grid-template-columns: 1fr;
    }

    .hero h1[b-u7efnjsn80] {
        font-size: 1.9rem;
    }
}

@media (max-width: 560px) {
    .service-tiles-inner[b-u7efnjsn80],
    .feature-grid-inner[b-u7efnjsn80],
    .teaser-grid[b-u7efnjsn80] {
        grid-template-columns: 1fr;
    }
}
/* _content/Springhouse.Web/Components/Pages/Offers.razor.rz.scp.css */
/* Offers page (task-list section 4). Simple single-column content, plus one highlighted
   feature card for the Corporate-Training Volume Discount. */

.offers-list[b-3v54na0gny] {
    max-width: 700px;
    color: #333333;
    line-height: 1.6;
    margin: 0 0 2rem;
}

.offers-feature[b-3v54na0gny] {
    max-width: 700px;
    background: #f4f6fb;
    border-radius: 4px;
    padding: 1.5rem;
}

.offers-feature h2[b-3v54na0gny] {
    color: #1b2a4a;
    margin: 0 0 0.6rem;
    font-size: 1.1rem;
}

.offers-feature p[b-3v54na0gny] {
    color: #333333;
    line-height: 1.6;
    margin: 0 0 1rem;
}

.offers-cta[b-3v54na0gny] {
    display: inline-block;
    font-weight: 600;
    color: #2d4a8a;
    text-decoration: none;
}

.offers-cta:hover[b-3v54na0gny] {
    text-decoration: underline;
}
/* _content/Springhouse.Web/Components/Pages/PrivacyPolicy.razor.rz.scp.css */
/* Policies / Privacy page (task-list section 4). Long-form legal/operational text - single
   readable column, no grid layout needed. */

.policy-doc[b-cdt06rwbon] {
    max-width: 800px;
}

.policy-section[b-cdt06rwbon] {
    margin: 0 0 2.5rem;
}

.policy-section h2[b-cdt06rwbon] {
    color: #1b2a4a;
    border-bottom: 1px solid #e2e6ee;
    padding-bottom: 0.5rem;
    margin: 0 0 1rem;
}

.policy-section h3[b-cdt06rwbon] {
    color: #1b2a4a;
    font-size: 1rem;
    margin: 1.5rem 0 0.5rem;
}

.policy-section p[b-cdt06rwbon],
.policy-section li[b-cdt06rwbon] {
    color: #333333;
    line-height: 1.6;
}

.policy-section ul[b-cdt06rwbon] {
    margin: 0 0 1rem;
    padding-left: 1.4rem;
}

.policy-section ul ul[b-cdt06rwbon] {
    margin-top: 0.4rem;
}

.policy-updated[b-cdt06rwbon] {
    color: #666666;
    font-size: 0.85rem;
    font-style: italic;
}
/* _content/Springhouse.Web/Components/Pages/Register.razor.rz.scp.css */
.checkout[b-nfd62e1pz0] {
    max-width: 720px;
}

.checkout-header h1[b-nfd62e1pz0] {
    color: #1b2a4a;
    margin: 0.5rem 0 0.75rem;
}

.checkout-session-info[b-nfd62e1pz0] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin: 0 0 1rem;
}

.checkout-session-item[b-nfd62e1pz0] {
    display: flex;
    flex-direction: column;
}

.checkout-session-item dt[b-nfd62e1pz0] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
}

.checkout-session-item dd[b-nfd62e1pz0] {
    margin: 0.15rem 0 0;
    font-weight: 600;
    color: #1b2a4a;
}

.checkout-occurrences[b-nfd62e1pz0] {
    background: #f7f8fb;
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 0.75rem 1rem;
    margin: 0 0 1.5rem;
    font-size: 0.9rem;
    color: #333333;
}

.checkout-occurrences ul[b-nfd62e1pz0] {
    margin: 0.4rem 0 0;
    padding-left: 1.25rem;
}

.checkout-section[b-nfd62e1pz0] {
    margin: 0 0 2rem;
}

.checkout-section h2[b-nfd62e1pz0] {
    color: #1b2a4a;
    font-size: 1.15rem;
    margin: 0 0 0.75rem;
}

.checkout-hint[b-nfd62e1pz0] {
    font-size: 0.85rem;
    color: #6b7280;
    margin: 0 0 1rem;
}

.form-field[b-nfd62e1pz0] {
    margin-bottom: 0.9rem;
    display: flex;
    flex-direction: column;
}

.form-field label[b-nfd62e1pz0] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #333333;
    margin-bottom: 0.25rem;
}

.form-field input[b-nfd62e1pz0],
.form-field textarea[b-nfd62e1pz0] {
    padding: 0.5rem 0.6rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
}

.attendee-row[b-nfd62e1pz0] {
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
}

.attendee-row-header[b-nfd62e1pz0] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
    color: #1b2a4a;
}

.attendee-remove[b-nfd62e1pz0] {
    background: none;
    border: none;
    color: #a33;
    font-size: 0.8rem;
    cursor: pointer;
    padding: 0;
}

.attendee-fields[b-nfd62e1pz0] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1rem;
}

.attendee-add[b-nfd62e1pz0] {
    background: #ffffff;
    border: 1px dashed #2d4a8a;
    color: #2d4a8a;
    border-radius: 4px;
    padding: 0.5rem 1rem;
    font-weight: 600;
    cursor: pointer;
}

.discount-row[b-nfd62e1pz0] {
    display: flex;
    gap: 0.5rem;
}

.discount-row input[b-nfd62e1pz0] {
    flex: 1;
    padding: 0.5rem 0.6rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
}

.discount-apply[b-nfd62e1pz0] {
    background: #1b2a4a;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    padding: 0.5rem 1rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.discount-apply:disabled[b-nfd62e1pz0] {
    opacity: 0.6;
    cursor: default;
}

.discount-applied[b-nfd62e1pz0] {
    color: #1b7a3a;
    font-weight: 600;
    margin: 0.5rem 0 0;
}

/* Resets default browser <fieldset> chrome (border/padding/margin) - added 2026-08-09
   alongside the accessibility pass that introduced this fieldset (see Register.razor's own
   doc comment on ".payment-method-fieldset"). Without this reset, wrapping the existing
   ".payment-option" rows in a <fieldset> would add a visible border box and extra padding
   around them that wasn't part of this page's design before. */
.payment-method-fieldset[b-nfd62e1pz0] {
    border: none;
    padding: 0;
    margin: 0;
}

.payment-option[b-nfd62e1pz0] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    border-radius: 4px;
    margin-bottom: 0.5rem;
}

.payment-option-active[b-nfd62e1pz0] {
    background: #f0f4fb;
    border: 1px solid #cdd8ee;
    color: #1b2a4a;
    font-weight: 600;
}

.payment-option-disabled[b-nfd62e1pz0] {
    color: #9aa1ae;
}

.payment-coming-soon[b-nfd62e1pz0],
.payment-only-option[b-nfd62e1pz0] {
    font-weight: 400;
    font-size: 0.8rem;
}

.card-fields[b-nfd62e1pz0] {
    margin-top: 0.75rem;
}

.card-fields-row[b-nfd62e1pz0] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 1rem;
}

.card-zip-field[b-nfd62e1pz0] {
    max-width: 12rem;
}

.contact-name-row[b-nfd62e1pz0] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1rem;
}

.form-field.contact-is-attendee[b-nfd62e1pz0] {
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.form-field.contact-is-attendee label[b-nfd62e1pz0] {
    margin-bottom: 0;
    font-size: 0.95rem;
}

.contact-is-attendee[b-nfd62e1pz0]  input[type="checkbox"] {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
    padding: 0;
}

.checkout-optional[b-nfd62e1pz0] {
    font-weight: 400;
    font-size: 0.9rem;
    color: #6b7280;
}

.checkout-summary-section[b-nfd62e1pz0] {
    background: #f7f8fb;
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1.25rem 1.5rem;
}

.checkout-summary[b-nfd62e1pz0] {
    margin: 0;
}

.checkout-summary-row[b-nfd62e1pz0] {
    display: flex;
    justify-content: space-between;
    padding: 0.35rem 0;
    color: #333333;
}

.checkout-summary-row dt[b-nfd62e1pz0],
.checkout-summary-row dd[b-nfd62e1pz0] {
    margin: 0;
    font-weight: 400;
}

.checkout-summary-total[b-nfd62e1pz0] {
    border-top: 1px solid #cdd8ee;
    margin-top: 0.5rem;
    padding-top: 0.6rem;
    font-weight: 700;
    color: #1b2a4a;
    font-size: 1.1rem;
}

.checkout-error[b-nfd62e1pz0] {
    color: #a33;
    font-size: 0.875rem;
}

.checkout-submit[b-nfd62e1pz0] {
    background: #1b2a4a;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    padding: 0.7rem 1.5rem;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
}

.checkout-submit:disabled[b-nfd62e1pz0] {
    opacity: 0.6;
    cursor: default;
}

.checkout-confirmation[b-nfd62e1pz0],
.checkout-waitlist[b-nfd62e1pz0] {
    background: #f7f8fb;
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1.5rem;
}

.checkout-confirmation h2[b-nfd62e1pz0],
.checkout-waitlist h2[b-nfd62e1pz0] {
    color: #1b2a4a;
    margin: 0 0 0.75rem;
}

.checkout-waitlist-success[b-nfd62e1pz0] {
    color: #1b7a3a;
    font-weight: 600;
}

@media (max-width: 640px) {
    .attendee-fields[b-nfd62e1pz0] {
        grid-template-columns: 1fr;
    }

    .card-fields-row[b-nfd62e1pz0],
    .contact-name-row[b-nfd62e1pz0] {
        grid-template-columns: 1fr;
    }
}
/* _content/Springhouse.Web/Components/Pages/Schedule.razor.rz.scp.css */
/* This page's date-group/session-list styling lives in wwwroot/css/site.css (shared, not
   CSS-isolated), not here - UpcomingEvents.razor needs to look identical, same reasoning
   as CourseCatalog.razor.css's own comment for the course catalog's two listing pages
   (task-list section 5). See the comment above ".schedule-date-group" in site.css. */
/* _content/Springhouse.Web/Components/Pages/SiteMap.razor.rz.scp.css */
/* Sitemap page (task-list section 4). Three-column layout on wide screens, stacking on
   narrow ones - same breakpoint convention as the other new marketing pages this session. */

.sitemap-columns[b-to2nfq6g48] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    align-items: start;
}

.sitemap-section h2[b-to2nfq6g48] {
    color: #1b2a4a;
    font-size: 1.05rem;
    border-bottom: 1px solid #e2e6ee;
    padding-bottom: 0.5rem;
    margin: 0 0 0.75rem;
}

/* Prefixed with .sitemap-columns (not a bare "::deep .sitemap-tree") so these rules stay
   scoped to this page's own markup rather than becoming unscoped/global - Blazor's CSS
   isolation only appends the scope attribute selector to the portion of a rule BEFORE
   ::deep, so a bare "::deep .foo" with nothing in front of it applies everywhere in the
   app, not just here. Matches the prefixed pattern SiteHeader.razor.css already
   established (".primary-nav.is-open ::deep .nav-dropdown") for reaching into a child
   component's (SitemapLinkTree.razor's) rendered output. */
.sitemap-columns[b-to2nfq6g48]  .sitemap-tree {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sitemap-columns[b-to2nfq6g48]  .sitemap-tree .sitemap-tree {
    padding-left: 1.1rem;
    margin-top: 0.3rem;
}

.sitemap-columns[b-to2nfq6g48]  .sitemap-tree li {
    margin: 0.35rem 0;
}

.sitemap-columns[b-to2nfq6g48]  .sitemap-tree a {
    color: #2d4a8a;
    text-decoration: none;
    font-size: 0.9rem;
}

.sitemap-columns[b-to2nfq6g48]  .sitemap-tree a:hover {
    text-decoration: underline;
}

.sitemap-columns[b-to2nfq6g48]  .sitemap-group-label {
    color: #666666;
    font-size: 0.85rem;
    font-style: italic;
}

@media (max-width: 900px) {
    .sitemap-columns[b-to2nfq6g48] {
        grid-template-columns: 1fr;
    }
}
/* _content/Springhouse.Web/Components/Pages/UpcomingEvents.razor.rz.scp.css */
/* Shares Schedule.razor's site.css-based styling - see that file's identical .razor.css
   comment and ".schedule-date-group" in wwwroot/css/site.css. */
/* _content/Springhouse.Web/Components/Routes.razor.rz.scp.css */
/* AuthorizeRouteView's NotAuthorized/Authorizing fragments (admin-task-list.md section 0) -
   minimal, deliberately not styled to match the public site (SiteHeader/SiteFooter aren't
   rendered around these - they show up inside whatever layout the routed page declares,
   which for every /admin/* page today is AdminLayout - see that component's own doc
   comment). */
.admin-denied[b-6nevejyrsy] {
    max-width: 32rem;
    margin: 4rem auto;
    padding: 2rem;
    text-align: center;
}

.admin-denied h1[b-6nevejyrsy] {
    margin-top: 0;
}

.admin-signin-link[b-6nevejyrsy] {
    display: inline-block;
    margin-top: 1rem;
    padding: 0.6rem 1.4rem;
    background: #1b2a4a;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
}

.admin-signin-link:hover[b-6nevejyrsy] {
    background: #26385f;
}
/* _content/Springhouse.Web/Components/Shared/AdminEmailLogTable.razor.rz.scp.css */
.admin-emaillog-table[b-1db6fjpqxx] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e1e4ea;
    border-radius: 6px;
    overflow: hidden;
}

.admin-emaillog-table th[b-1db6fjpqxx],
.admin-emaillog-table td[b-1db6fjpqxx] {
    text-align: left;
    padding: 0.55rem 0.8rem;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.85rem;
    vertical-align: top;
}

.admin-emaillog-table th[b-1db6fjpqxx] {
    background: #f4f5f7;
    font-weight: 600;
    color: #3c4560;
}

.admin-emaillog-table tbody tr:last-child td[b-1db6fjpqxx] {
    border-bottom: none;
}

.admin-emaillog-nowrap[b-1db6fjpqxx] {
    white-space: nowrap;
}

.admin-emaillog-muted[b-1db6fjpqxx] {
    color: #7a8399;
    font-size: 0.8rem;
}

.admin-emaillog-redirected[b-1db6fjpqxx] {
    color: #8a5a00;
    font-size: 0.8rem;
}

.admin-emaillog-sent[b-1db6fjpqxx] {
    color: #1d7a3a;
    font-weight: 600;
}

.admin-emaillog-failed[b-1db6fjpqxx] {
    color: #b42318;
    font-weight: 600;
}

.admin-emaillog-row-failed[b-1db6fjpqxx] {
    background: #fff6f5;
}
/* _content/Springhouse.Web/Components/Shared/Breadcrumb.razor.rz.scp.css */
.breadcrumb ol[b-jwa7vggtaj] {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0 0 1.5rem;
    padding: 0;
    font-size: 0.875rem;
    color: #555555;
}

.breadcrumb li[b-jwa7vggtaj] {
    display: flex;
}

.breadcrumb li:not(:last-child)[b-jwa7vggtaj]::after {
    content: "/";
    margin-left: 0.35rem;
    color: #999999;
}

.breadcrumb a[b-jwa7vggtaj] {
    color: #1b2a4a;
    text-decoration: none;
}

.breadcrumb a:hover[b-jwa7vggtaj] {
    text-decoration: underline;
}

.breadcrumb span[aria-current="page"][b-jwa7vggtaj] {
    color: #555555;
}
/* _content/Springhouse.Web/Components/Shared/CategoryTreeNode.razor.rz.scp.css */
.cat-node[b-7mgocvko5z] {
    list-style: none;
}

.cat-children[b-7mgocvko5z] {
    list-style: none;
    margin: 0.2rem 0 0.4rem;
    padding-left: 0.9rem;
    border-left: 1px solid #e2e6ee;
}

.cat-link[b-7mgocvko5z] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.3rem 0.2rem;
    color: #333333;
    text-decoration: none;
    font-size: 0.9rem;
    border-radius: 3px;
}

.cat-link:hover[b-7mgocvko5z] {
    background: #f4f6fb;
    color: #1b2a4a;
}

.cat-link.is-active[b-7mgocvko5z] {
    background: #eef1fa;
    color: #1b2a4a;
    font-weight: 600;
}

.cat-count[b-7mgocvko5z] {
    color: #6b7280;
    font-size: 0.8rem;
}
/* _content/Springhouse.Web/Components/Shared/CourseCard.razor.rz.scp.css */
.course-card[b-h2f5vyklkx] {
    background: #ffffff;
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
}

.course-card h3[b-h2f5vyklkx] {
    margin: 0 0 0.4rem;
    font-size: 1.05rem;
}

.course-card h3 a[b-h2f5vyklkx] {
    color: #1b2a4a;
    text-decoration: none;
}

.course-card h3 a:hover[b-h2f5vyklkx] {
    text-decoration: underline;
}

.course-duration[b-h2f5vyklkx] {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #2d4a8a;
    margin: 0 0 0.5rem;
}

.course-description[b-h2f5vyklkx] {
    font-size: 0.9rem;
    line-height: 1.5;
    color: #333333;
    margin: 0 0 0.75rem;
    flex: 1 0 auto;
}

.course-price[b-h2f5vyklkx] {
    font-weight: 600;
    color: #1b2a4a;
    margin: 0 0 0.75rem;
}

.course-cta[b-h2f5vyklkx] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #2d4a8a;
    text-decoration: none;
}

.course-cta:hover[b-h2f5vyklkx] {
    text-decoration: underline;
}
/* _content/Springhouse.Web/Components/Shared/CourseCatalogMonthFilter.razor.rz.scp.css */
.catalog-month-filter[b-hr79fce155] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1.5rem;
}

.catalog-month-link[b-hr79fce155] {
    display: inline-block;
    padding: 0.4rem 0.85rem;
    border: 1px solid #e2e6ee;
    border-radius: 999px;
    font-size: 0.85rem;
    color: #333333;
    text-decoration: none;
    white-space: nowrap;
}

.catalog-month-link:hover[b-hr79fce155] {
    border-color: #2d4a8a;
    color: #1b2a4a;
}

.catalog-month-link.is-active[b-hr79fce155] {
    background: #1b2a4a;
    border-color: #1b2a4a;
    color: #ffffff;
    font-weight: 600;
}
/* _content/Springhouse.Web/Components/Shared/CourseCatalogSidebar.razor.rz.scp.css */
.catalog-sidebar-nav[b-9gg6mcb9fg] {
    background: #ffffff;
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1.25rem;
}

.cat-all-link[b-9gg6mcb9fg] {
    display: block;
    font-weight: 600;
    color: #1b2a4a;
    text-decoration: none;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid #e2e6ee;
}

.cat-all-link:hover[b-9gg6mcb9fg] {
    text-decoration: underline;
}

.cat-all-link.is-active[b-9gg6mcb9fg] {
    color: #2d4a8a;
}

.cat-group + .cat-group[b-9gg6mcb9fg] {
    margin-top: 1.25rem;
}

.cat-group h3[b-9gg6mcb9fg] {
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
    margin: 0 0 0.5rem;
}

.cat-tree[b-9gg6mcb9fg] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.cat-empty[b-9gg6mcb9fg] {
    font-size: 0.875rem;
    color: #6b7280;
    line-height: 1.5;
    margin: 0;
}
/* _content/Springhouse.Web/Components/Shared/NavMenuItem.razor.rz.scp.css */
.nav-item[b-h0701hwhxj] {
    position: relative;
}

.nav-link[b-h0701hwhxj] {
    display: block;
    padding: 0.85rem 1rem;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.nav-label[b-h0701hwhxj] {
    /* Now a <button> (2026-08-09 accessibility fix - see NavMenuItem.razor's doc comment),
       not a <span>, so browser default button chrome (border/background/font/cursor) needs
       resetting to keep the exact same plain-text look this had before. */
    cursor: pointer;
    opacity: 0.85;
    background: none;
    border: none;
    font: inherit;
    text-align: left;
}

a.nav-link:hover[b-h0701hwhxj],
a.nav-link:focus[b-h0701hwhxj],
button.nav-label:hover[b-h0701hwhxj],
button.nav-label:focus[b-h0701hwhxj] {
    text-decoration: underline;
}

.has-children > .nav-link[b-h0701hwhxj]::after {
    content: " \25BE"; /* small down caret */
    font-size: 0.7em;
}

.nav-dropdown[b-h0701hwhxj] {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0.35rem 0;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 260px;
    background: #ffffff;
    color: #1b1b1b;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    border-radius: 0 0 4px 4px;
    z-index: 50;
}

.nav-item:hover > .nav-dropdown[b-h0701hwhxj],
.nav-item:focus-within > .nav-dropdown[b-h0701hwhxj],
.nav-dropdown.is-open[b-h0701hwhxj] {
    display: block;
}

/* Nested (2nd-level+) dropdowns flyout to the right instead of stacking below. */
.nav-dropdown .nav-dropdown[b-h0701hwhxj] {
    top: 0;
    left: 100%;
    border-radius: 4px;
}

.nav-dropdown .nav-link[b-h0701hwhxj] {
    padding: 0.6rem 1rem;
    color: #1b1b1b;
}

.nav-dropdown .has-children > .nav-link[b-h0701hwhxj]::after {
    content: " \25B8"; /* right caret for flyout */
}
/* _content/Springhouse.Web/Components/Shared/Pagination.razor.rz.scp.css */
.pagination[b-ixtsd7mjcf] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e2e6ee;
}

.pagination-link[b-ixtsd7mjcf] {
    font-size: 0.9rem;
    font-weight: 600;
    color: #2d4a8a;
    text-decoration: none;
}

.pagination-link:hover[b-ixtsd7mjcf] {
    text-decoration: underline;
}

.pagination-link.is-disabled[b-ixtsd7mjcf] {
    color: #b7bfcc;
    pointer-events: none;
}

.pagination-status[b-ixtsd7mjcf] {
    font-size: 0.875rem;
    color: #6b7280;
}
/* _content/Springhouse.Web/Components/Shared/RegisterInterestForm.razor.rz.scp.css */
.register-interest[b-oihhwx4bol] {
    background: #f7f8fb;
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1.5rem;
    margin-top: 1rem;
    max-width: 480px;
}

.register-interest h3[b-oihhwx4bol] {
    margin: 0 0 0.5rem;
    color: #1b2a4a;
}

.form-field[b-oihhwx4bol] {
    margin-bottom: 0.9rem;
    display: flex;
    flex-direction: column;
}

.form-field label[b-oihhwx4bol] {
    font-size: 0.85rem;
    font-weight: 600;
    color: #333333;
    margin-bottom: 0.25rem;
}

.form-field input[b-oihhwx4bol],
.form-field textarea[b-oihhwx4bol] {
    padding: 0.5rem 0.6rem;
    border: 1px solid #c9cfdb;
    border-radius: 4px;
    font: inherit;
}

.register-interest-submit[b-oihhwx4bol] {
    background: #1b2a4a;
    color: #ffffff;
    border: none;
    border-radius: 4px;
    padding: 0.6rem 1.25rem;
    font-weight: 600;
    cursor: pointer;
}

.register-interest-submit:disabled[b-oihhwx4bol] {
    opacity: 0.6;
    cursor: default;
}

.register-interest-error[b-oihhwx4bol] {
    color: #a33;
    font-size: 0.875rem;
}

.register-interest-success[b-oihhwx4bol] {
    color: #1b2a4a;
    line-height: 1.6;
}
/* _content/Springhouse.Web/Components/Shared/ScheduleCategoryFilter.razor.rz.scp.css */
.schedule-cat-filter[b-7bsya5x92c] {
    background: #ffffff;
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1.25rem;
}

.schedule-cat-all-link[b-7bsya5x92c] {
    display: block;
    font-weight: 600;
    color: #1b2a4a;
    text-decoration: none;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid #e2e6ee;
}

.schedule-cat-all-link:hover[b-7bsya5x92c] {
    text-decoration: underline;
}

.schedule-cat-all-link.is-active[b-7bsya5x92c] {
    color: #2d4a8a;
}

.schedule-cat-group + .schedule-cat-group[b-7bsya5x92c] {
    margin-top: 1.25rem;
}

.schedule-cat-group h3[b-7bsya5x92c] {
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
    margin: 0 0 0.5rem;
}

.schedule-cat-tree[b-7bsya5x92c] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.schedule-cat-empty[b-7bsya5x92c] {
    font-size: 0.875rem;
    color: #6b7280;
    line-height: 1.5;
    margin: 0;
}
/* _content/Springhouse.Web/Components/Shared/ScheduleCategoryTreeNode.razor.rz.scp.css */
.schedule-cat-node[b-8e77iq5xqd] {
    list-style: none;
}

.schedule-cat-children[b-8e77iq5xqd] {
    list-style: none;
    margin: 0.2rem 0 0.4rem;
    padding-left: 0.9rem;
    border-left: 1px solid #e2e6ee;
}

.schedule-cat-link[b-8e77iq5xqd] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.3rem 0.2rem;
    color: #333333;
    text-decoration: none;
    font-size: 0.9rem;
    border-radius: 3px;
}

.schedule-cat-link:hover[b-8e77iq5xqd] {
    background: #f4f6fb;
    color: #1b2a4a;
}

.schedule-cat-link.is-active[b-8e77iq5xqd] {
    background: #eef1fa;
    color: #1b2a4a;
    font-weight: 600;
}

.schedule-cat-count[b-8e77iq5xqd] {
    color: #6b7280;
    font-size: 0.8rem;
}
/* _content/Springhouse.Web/Components/Shared/ScheduleMonthFilter.razor.rz.scp.css */
.schedule-month-filter[b-d9d7voxkmx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1.5rem;
}

.schedule-month-link[b-d9d7voxkmx] {
    display: inline-block;
    padding: 0.4rem 0.85rem;
    border: 1px solid #e2e6ee;
    border-radius: 999px;
    font-size: 0.85rem;
    color: #333333;
    text-decoration: none;
    white-space: nowrap;
}

.schedule-month-link:hover[b-d9d7voxkmx] {
    border-color: #2d4a8a;
    color: #1b2a4a;
}

.schedule-month-link.is-active[b-d9d7voxkmx] {
    background: #1b2a4a;
    border-color: #1b2a4a;
    color: #ffffff;
    font-weight: 600;
}
/* _content/Springhouse.Web/Components/Shared/ScheduleSessionRow.razor.rz.scp.css */
.schedule-session-row[b-mrf4g8g370] {
    list-style: none;
    border: 1px solid #e2e6ee;
    border-radius: 4px;
    padding: 1rem 1.25rem;
    margin-bottom: 0.75rem;
}

.schedule-session-info[b-mrf4g8g370] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
}

.schedule-session-course[b-mrf4g8g370] {
    font-weight: 600;
    color: #1b2a4a;
    text-decoration: none;
}

.schedule-session-course:hover[b-mrf4g8g370] {
    text-decoration: underline;
}

.schedule-session-mode[b-mrf4g8g370] {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #2d4a8a;
}

.schedule-session-duration[b-mrf4g8g370] {
    font-size: 0.9rem;
    color: #555555;
}

.schedule-session-price[b-mrf4g8g370] {
    font-weight: 600;
    color: #1b2a4a;
    margin-left: auto;
}

.schedule-session-tentative-badge[b-mrf4g8g370] {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6b5a1e;
    background: #fff8e6;
    border: 1px solid #f0d98c;
    border-radius: 3px;
    padding: 0.15rem 0.5rem;
}

.schedule-session-occurrences[b-mrf4g8g370] {
    margin: 0.6rem 0 0;
    padding-left: 1.25rem;
    font-size: 0.85rem;
    color: #555555;
}

.schedule-session-full[b-mrf4g8g370] {
    display: inline-block;
    margin-top: 0.75rem;
    font-weight: 600;
    color: #a33;
}

.schedule-session-register-cta[b-mrf4g8g370] {
    display: inline-block;
    margin-top: 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #2d4a8a;
    text-decoration: none;
}

.schedule-session-register-cta:hover[b-mrf4g8g370] {
    text-decoration: underline;
}
/* _content/Springhouse.Web/Components/Shared/ShareLinks.razor.rz.scp.css */
.share-links[b-ilx5wewxmt] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e2e6ee;
}

.share-label[b-ilx5wewxmt] {
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #6b7280;
}

.share-links a[b-ilx5wewxmt],
.share-print[b-ilx5wewxmt] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #2d4a8a;
    text-decoration: none;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
}

.share-links a:hover[b-ilx5wewxmt],
.share-print:hover[b-ilx5wewxmt] {
    text-decoration: underline;
}
/* _content/Springhouse.Web/Components/Shared/SiteFooter.razor.rz.scp.css */
.site-footer[b-ef1o52w0qz] {
    background-color: #12203b;
    color: #cbd4e6;
    margin-top: auto;
}

.site-footer-inner[b-ef1o52w0qz] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.5rem 1.5rem 1.5rem;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 2rem;
}

.footer-col h2[b-ef1o52w0qz],
.footer-col h3[b-ef1o52w0qz] {
    color: #ffffff;
    margin: 0 0 0.75rem;
    font-size: 1rem;
}

.footer-about h2[b-ef1o52w0qz] {
    font-size: 1.2rem;
}

.footer-about p[b-ef1o52w0qz] {
    margin: 0;
    line-height: 1.5;
    font-size: 0.875rem;
}

address[b-ef1o52w0qz] {
    font-style: normal;
    font-size: 0.875rem;
    margin: 0 0 0.5rem;
}

.footer-col p[b-ef1o52w0qz] {
    margin: 0.25rem 0;
    font-size: 0.875rem;
}

.footer-links ul[b-ef1o52w0qz] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-links li[b-ef1o52w0qz] {
    margin-bottom: 0.4rem;
}

.footer-col a[b-ef1o52w0qz] {
    color: #cbd4e6;
    text-decoration: none;
    font-size: 0.875rem;
}

.footer-col a:hover[b-ef1o52w0qz] {
    color: #ffffff;
    text-decoration: underline;
}

.social-links[b-ef1o52w0qz] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.footer-bottom[b-ef1o52w0qz] {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding: 1rem 1.5rem;
    text-align: center;
    font-size: 0.8125rem;
}

@media (max-width: 900px) {
    .site-footer-inner[b-ef1o52w0qz] {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .site-footer-inner[b-ef1o52w0qz] {
        grid-template-columns: 1fr;
    }
}
/* _content/Springhouse.Web/Components/Shared/SiteHeader.razor.rz.scp.css */
.site-header[b-e4wmuulvxu] {
    background-color: #1b2a4a;
    color: #ffffff;
}

.utility-bar[b-e4wmuulvxu] {
    background-color: #12203b;
    font-size: 0.8125rem;
}

.utility-bar-inner[b-e4wmuulvxu] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.4rem 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.utility-links[b-e4wmuulvxu] {
    display: flex;
    gap: 1rem;
}

.utility-links a[b-e4wmuulvxu],
.utility-contact a[b-e4wmuulvxu] {
    color: #cbd4e6;
    text-decoration: none;
}

.utility-links a:hover[b-e4wmuulvxu],
.utility-contact a:hover[b-e4wmuulvxu] {
    color: #ffffff;
    text-decoration: underline;
}

.utility-contact[b-e4wmuulvxu] {
    display: flex;
    gap: 1rem;
}

.main-header-inner[b-e4wmuulvxu] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.85rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.site-logo[b-e4wmuulvxu] {
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 0.02em;
}

.primary-nav[b-e4wmuulvxu] {
    flex: 1 1 auto;
}

.primary-nav > ul[b-e4wmuulvxu] {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-search[b-e4wmuulvxu] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.site-search input[type="search"][b-e4wmuulvxu] {
    padding: 0.4rem 0.6rem;
    border: none;
    border-radius: 3px;
    font-size: 0.875rem;
    width: 160px;
}

.site-search button[b-e4wmuulvxu] {
    background: #2d4a8a;
    color: #fff;
    border: none;
    padding: 0.4rem 0.75rem;
    border-radius: 3px;
    font-size: 0.8125rem;
    cursor: pointer;
}

.site-search button:hover[b-e4wmuulvxu] {
    background: #3a5ba0;
}

.visually-hidden[b-e4wmuulvxu] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.hamburger[b-e4wmuulvxu] {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 36px;
    height: 32px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}

.hamburger span[b-e4wmuulvxu] {
    display: block;
    height: 2px;
    background: #ffffff;
    border-radius: 1px;
}

/* Mobile breakpoint: collapse primary nav + search behind the hamburger. Dropdown flyouts
   (defined in NavMenuItem.razor.css, a child component) are forced open/stacked here via
   ::deep, which is Blazor CSS isolation's mechanism for a parent's scoped stylesheet to
   reach into a child component's rendered elements. */
@media (max-width: 900px) {
    .primary-nav[b-e4wmuulvxu] {
        display: none;
        width: 100%;
        order: 3;
    }

    .primary-nav.is-open[b-e4wmuulvxu] {
        display: block;
    }

    .primary-nav > ul[b-e4wmuulvxu] {
        flex-direction: column;
    }

    .primary-nav.is-open[b-e4wmuulvxu]  .nav-dropdown {
        display: block;
        position: static;
        box-shadow: none;
        background: transparent;
        padding-left: 1rem;
    }

    .primary-nav.is-open[b-e4wmuulvxu]  .nav-link {
        color: #ffffff;
    }

    .site-search[b-e4wmuulvxu] {
        display: none;
    }

    .hamburger[b-e4wmuulvxu] {
        display: flex;
        order: 2;
        margin-left: auto;
    }

    .main-header-inner[b-e4wmuulvxu] {
        flex-wrap: wrap;
    }
}
