/* /Components/FieldTooltip.razor.rz.scp.css */
.field-tooltip[b-nskk271gbc] {
    background: none;
    border: 1px solid currentColor;
    border-radius: 50%;
    color: var(--color-text-muted);
    cursor: help;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    height: 1.1rem;
    line-height: 1;
    padding: 0;
    position: relative;
    vertical-align: middle;
    width: 1.1rem;
}

.field-tooltip:hover[b-nskk271gbc],
.field-tooltip:focus[b-nskk271gbc] {
    border-color: var(--color-interactive);
    color: var(--color-interactive);
    outline: none;
}

.field-tooltip:focus-visible[b-nskk271gbc] {
    outline: 2px solid var(--color-focus);
    outline-offset: 2px;
}

.field-tooltip__content[b-nskk271gbc] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 0.35rem;
    bottom: calc(100% + 0.4rem);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    color: var(--color-text);
    font-size: 0.85rem;
    left: 0;
    line-height: 1.45;
    max-width: 20rem;
    min-width: 12rem;
    opacity: 0;
    padding: 0.5rem 0.75rem;
    pointer-events: none;
    position: absolute;
    text-align: left;
    white-space: normal;
    z-index: 200;
}

.field-tooltip:hover .field-tooltip__content[b-nskk271gbc],
.field-tooltip:focus .field-tooltip__content[b-nskk271gbc] {
    opacity: 1;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-672vzz9617] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-672vzz9617] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
}
/* /Components/Pages/Admin/Resources.razor.rz.scp.css */
.resource-admin[b-la52mhiutj] {
    display: grid;
    gap: 1.4rem;
    margin: 0 auto;
    max-width: 72rem;
    padding: 3rem 1.25rem;
}

.resource-admin__panel h2[b-la52mhiutj],
.resource-admin__field-group h3[b-la52mhiutj],
.resource-admin__item h3[b-la52mhiutj] {
    margin: 0;
}

.resource-admin__item p[b-la52mhiutj] {
    color: var(--color-text-muted);
    margin: 0.35rem 0 0;
}

.resource-admin__panel[b-la52mhiutj] {
    display: grid;
    gap: 0.3rem;
}

.resource-admin__form[b-la52mhiutj] {
    display: grid;
    gap: 1.15rem;
}

.resource-admin__field-stack[b-la52mhiutj] {
    display: grid;
    gap: 0.75rem;
}

.resource-admin__field-group[b-la52mhiutj] {
    display: grid;
    gap: 0.4rem;
    padding-top: 0.9rem;
}

.resource-admin__field-group h3[b-la52mhiutj] {
    font-size: 1rem;
}

.resource-admin__form label[b-la52mhiutj] {
    display: grid;
    gap: 0.55rem;
}

.resource-admin__form textarea[b-la52mhiutj] {
    min-height: 5rem;
}

.resource-admin__duration-grid[b-la52mhiutj],
.resource-admin__time-grid[b-la52mhiutj] {
    display: grid;
    gap: 1.1rem;
}

.resource-admin__status-toggle[b-la52mhiutj] {
    border: 1px solid var(--color-border);
    border-radius: 0.35rem;
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0.35rem;
}

.resource-admin__status-option[b-la52mhiutj] {
    background: var(--color-surface);
    border-color: transparent;
    color: var(--color-text-muted);
    min-width: 0;
}

.resource-admin__status-option:hover[b-la52mhiutj] {
    background: var(--color-surface-subtle);
    border-color: var(--color-control-border);
}

.resource-admin__status-option--active[b-la52mhiutj] {
    background: var(--status-approved-bg);
    border-color: var(--status-approved-border);
    color: var(--status-approved-text);
    font-weight: 700;
}

.resource-admin__status-option--active:hover[b-la52mhiutj] {
    background: var(--status-approved-hover-bg);
}

.resource-admin__status-option--inactive[b-la52mhiutj] {
    background: var(--danger-bg);
    border-color: var(--danger-border);
    color: var(--danger-text);
    font-weight: 700;
}

.resource-admin__status-option--inactive:hover[b-la52mhiutj] {
    background: var(--danger-hover-bg);
}

.resource-admin__actions[b-la52mhiutj],
.resource-admin__item-actions[b-la52mhiutj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.resource-admin__actions[b-la52mhiutj] {
    justify-content: flex-end;
    padding-top: 0.85rem;
}

.resource-admin__list[b-la52mhiutj] {
    display: grid;
    gap: 0.85rem;
}

.resource-admin__item[b-la52mhiutj] {
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.resource-admin__item dl[b-la52mhiutj] {
    display: grid;
    gap: 0.5rem;
    margin: 0.75rem 0 0;
}

.resource-admin__item dl div[b-la52mhiutj] {
    display: grid;
    gap: 0.15rem;
}

.resource-admin__item dt[b-la52mhiutj] {
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.resource-admin__item dd[b-la52mhiutj] {
    margin: 0;
    overflow-wrap: anywhere;
}

@media (min-width: 48rem) {
    .resource-admin__duration-grid[b-la52mhiutj] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .resource-admin__time-grid[b-la52mhiutj] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .resource-admin__item[b-la52mhiutj] {
        align-items: start;
        grid-template-columns: 1fr auto;
    }

    .resource-admin__item-actions[b-la52mhiutj] {
        justify-content: end;
    }
}
/* /Components/Pages/Bookings/BookingActionButtons.razor.rz.scp.css */
.booking-overview__button--trailing[b-bqog0meswq] {
    margin-left: auto;
}
/* /Components/Pages/Bookings/BookingCancelDialog.razor.rz.scp.css */
.booking-overview__dialog[b-iyuat42e83] {
    background: var(--color-surface-subtle);
    border: 1px solid var(--color-border);
    border-radius: 0.4rem;
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem;
}

.booking-overview__dialog-prompt[b-iyuat42e83] {
    color: var(--color-text-muted);
    font-size: 0.95rem;
    margin: 0;
}
/* /Components/Pages/Bookings/BookingRejectDialog.razor.rz.scp.css */
.booking-overview__dialog[b-zeyz92zjim] {
    background: var(--color-surface-subtle);
    border: 1px solid var(--color-border);
    border-radius: 0.4rem;
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem;
}

.booking-overview__field[b-zeyz92zjim] {
    display: grid;
    gap: 0.35rem;
}

.booking-overview__field span[b-zeyz92zjim] {
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.booking-overview__field textarea[b-zeyz92zjim] {
    border: 1px solid var(--color-control-border);
    border-radius: 0.35rem;
    font: inherit;
    min-height: 5.5rem;
    padding: 0.55rem;
    resize: vertical;
}
/* /Components/Pages/Bookings/Edit.razor.rz.scp.css */
.booking-edit[b-y7cfd37mmo] {
    display: grid;
    gap: 1.2rem;
    margin: 0 auto;
    max-width: 34rem;
    padding: 3.25rem 1.25rem;
}

.booking-edit__panel[b-y7cfd37mmo] {
    display: grid;
    gap: 1.5rem;
}

.booking-edit__form[b-y7cfd37mmo] {
    display: grid;
    gap: 2rem;
}

    .booking-edit__form label[b-y7cfd37mmo] {
        display: grid;
        gap: 0.55rem;
    }

    .booking-edit__form textarea[b-y7cfd37mmo] {
        min-height: 4.5rem;
    }

.booking-edit__form .booking-edit__checkbox-label[b-y7cfd37mmo] {
    align-items: center;
    display: flex;
    gap: 0.5rem;
}

.booking-edit__expandable[b-y7cfd37mmo] {
    display: grid;
    gap: 0.55rem;
}

.booking-edit__section[b-y7cfd37mmo] {
    display: grid;
    gap: 0.85rem;
}

.booking-edit__section-heading[b-y7cfd37mmo] {
    font-weight: 700;
    margin: 0;
}

.booking-edit__field-heading[b-y7cfd37mmo] {
    display: block;
    font-weight: 600;
}

.booking-edit__field[b-y7cfd37mmo] {
    display: grid;
    gap: 0.55rem;
}

.booking-edit__section-fields[b-y7cfd37mmo] {
    display: grid;
    gap: 1rem;
}

.booking-edit__choice-group[b-y7cfd37mmo] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.booking-edit__form .booking-edit__choice[b-y7cfd37mmo] {
    align-items: center;
    background: var(--color-surface);
    border: 1px solid var(--color-control-border);
    border-radius: 0.35rem;
    cursor: pointer;
    display: flex;
    gap: 0.45rem;
    padding: 0.5rem 0.65rem;
}

.booking-edit__choice:has(input:checked)[b-y7cfd37mmo] {
    border-color: var(--color-interactive);
    color: var(--color-interactive);
}

.booking-edit__choice input[b-y7cfd37mmo] {
    cursor: pointer;
    margin: 0;
}

.booking-edit__title-group[b-y7cfd37mmo] {
    display: grid;
    gap: 0.5rem;
}

.booking-edit__time-grid[b-y7cfd37mmo] {
    display: grid;
    gap: 1.1rem;
}

    .booking-edit__time-grid input[type="date"][b-y7cfd37mmo] {
        -webkit-appearance: none;
        appearance: none;
    }

    .booking-edit__time-grid select[b-y7cfd37mmo],
    .booking-edit__time-grid input[b-y7cfd37mmo] {
        height: 2.9rem;
    }

.booking-edit__hint[b-y7cfd37mmo] {
    border-left: 3px solid var(--color-border);
    color: #243b53;
    font-size: 0.9rem;
    line-height: 1.45;
    margin: 0 0 0 0.4rem;
    padding: 0.2rem 0 0.2rem 0.75rem;
}

.booking-edit__actions[b-y7cfd37mmo] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
    padding-top: 0.15rem;
}

.booking-edit__readonly-info[b-y7cfd37mmo] {
    background: var(--color-surface-subtle);
    border: 1px solid var(--color-border);
    border-radius: 0.4rem;
    padding: 0.9rem 1rem;
}

    .booking-edit__readonly-info dl[b-y7cfd37mmo] {
        display: grid;
        gap: 0.55rem;
        margin: 0 0 0.75rem;
    }

    .booking-edit__readonly-info dl > div[b-y7cfd37mmo] {
        display: grid;
        gap: 0.15rem;
    }

    .booking-edit__readonly-info dt[b-y7cfd37mmo] {
        color: var(--color-text-muted);
        font-size: 0.8rem;
        font-weight: 600;
        text-transform: uppercase;
    }

    .booking-edit__readonly-info dd[b-y7cfd37mmo] {
        font-weight: 500;
        margin: 0;
        overflow-wrap: anywhere;
    }

.booking-edit__status[b-y7cfd37mmo] {
    border-radius: 999px;
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
}

.booking-edit__status--pending[b-y7cfd37mmo] {
    background: var(--status-pending-bg);
    border: 1px solid var(--status-pending-border);
    color: var(--status-pending-text);
}

.booking-edit__status--approved[b-y7cfd37mmo] {
    background: var(--status-approved-bg);
    border: 1px solid var(--status-approved-border);
    color: var(--status-approved-text);
}

.booking-edit__status--rejected[b-y7cfd37mmo] {
    background: var(--status-rejected-bg);
    border: 1px solid var(--status-rejected-border);
    color: var(--status-rejected-text);
}

.booking-edit__status--canceled[b-y7cfd37mmo] {
    background: var(--status-cancelled-bg);
    border: 1px solid var(--status-cancelled-border);
    color: var(--status-cancelled-text);
}

.booking-edit__readonly-note[b-y7cfd37mmo] {
    color: var(--color-text-muted);
    font-size: 0.85rem;
    margin: 0;
}

@media (min-width: 36rem) {
    .booking-edit__time-grid[b-y7cfd37mmo] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .booking-edit__readonly-info dl > div[b-y7cfd37mmo] {
        align-items: baseline;
        grid-template-columns: 5.5rem minmax(0, 1fr);
    }
}
/* /Components/Pages/Bookings/Index.razor.rz.scp.css */
.booking-overview[b-hyq8vh45qg] {
    display: grid;
    gap: 1.2rem;
    margin: 0 auto;
    max-width: 64rem;
    padding: 3.25rem 1.25rem;
}

.booking-overview__panel[b-hyq8vh45qg] {
    display: grid;
    gap: 1rem;
}

.booking-overview__scope-note[b-hyq8vh45qg] {
    color: var(--color-text-muted);
    margin: 0;
}

.booking-overview__list[b-hyq8vh45qg] {
    display: grid;
    gap: 0.85rem;
}

.booking-overview__item[b-hyq8vh45qg] {
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
}

/* ---------------------------------------------------------------
   Card-level styles
   OneTimeBookingCard and RecurringBookingCard render these
   elements. ::deep pierces the component boundary so the scoped
   selector (.booking-overview__item[b-xxx]) reaches descendants
   in child components that have no CSS isolation file of their own.
--------------------------------------------------------------- */

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__summary {
    display: grid;
    gap: 0.65rem;
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__summary h2,
.booking-overview__item[b-hyq8vh45qg]  .booking-overview__summary p {
    margin: 0;
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__summary p {
    color: var(--color-text-muted);
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__badges {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-end;
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__edit-icon {
    align-items: center;
    color: var(--color-text-muted);
    display: flex;
    line-height: 1;
    padding: 0.1rem;
    text-decoration: none;
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__edit-icon:hover {
    color: var(--color-text);
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__status {
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__status--pending {
    background: var(--status-pending-bg);
    border: 1px solid var(--status-pending-border);
    color: var(--status-pending-text);
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__status--approved {
    background: var(--status-approved-bg);
    border: 1px solid var(--status-approved-border);
    color: var(--status-approved-text);
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__status--rejected {
    background: var(--status-rejected-bg);
    border: 1px solid var(--status-rejected-border);
    color: var(--status-rejected-text);
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__status--canceled {
    background: var(--status-cancelled-bg);
    border: 1px solid var(--status-cancelled-border);
    color: var(--status-cancelled-text);
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__type-badge {
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__type-badge--onetime {
    background: var(--recurrence-onetime-bg);
    border: 1px solid var(--recurrence-onetime-border);
    color: var(--recurrence-onetime-text);
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__type-badge--recurring {
    background: var(--recurrence-recurring-bg);
    border: 1px solid var(--recurrence-recurring-border);
    color: var(--recurrence-recurring-text);
}

.booking-overview__item[b-hyq8vh45qg]  .booking-overview__validity {
    color: var(--color-text-muted);
    font-size: 0.9rem;
    margin: 0;
}

/* BookingAnnotationDetails renders a bare <dl>; RecurringBookingCard
   renders an additional <dl> for the schedule summary. */
.booking-overview__item[b-hyq8vh45qg]  dl {
    display: grid;
    gap: 0.55rem;
    margin: 0;
}

.booking-overview__item[b-hyq8vh45qg]  dl div {
    display: grid;
    gap: 0.15rem;
}

.booking-overview__item[b-hyq8vh45qg]  dt {
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.booking-overview__item[b-hyq8vh45qg]  dd {
    margin: 0;
    overflow-wrap: anywhere;
}

/* ---------------------------------------------------------------
   Group heading (admin pending-review section)
--------------------------------------------------------------- */

.booking-overview__group-heading[b-hyq8vh45qg] {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0;
}

/* ---------------------------------------------------------------
   Tabs
--------------------------------------------------------------- */

.booking-overview__tabs[b-hyq8vh45qg] {
    border-bottom: 2px solid var(--color-border);
    display: flex;
    gap: 0;
}

.booking-overview__tab[b-hyq8vh45qg] {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    margin-bottom: -2px;
    padding: 0.6rem 1rem;
}

.booking-overview__tab:hover[b-hyq8vh45qg] {
    color: var(--color-text);
}

.booking-overview__tab--active[b-hyq8vh45qg] {
    border-bottom-color: var(--color-text);
    color: var(--color-text);
}

/* ---------------------------------------------------------------
   Filter bar
--------------------------------------------------------------- */

.booking-overview__filter-bar[b-hyq8vh45qg] {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.booking-overview__filter-controls[b-hyq8vh45qg] {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    gap: 0.4rem 0.65rem;
}

.booking-overview__filter-label[b-hyq8vh45qg] {
    color: var(--color-text-muted);
    display: flex;
    flex-direction: column;
    font-size: 0.82rem;
    font-weight: 600;
    gap: 0.2rem;
}

.booking-overview__filter-select[b-hyq8vh45qg],
.booking-overview__filter-input[b-hyq8vh45qg] {
    border: 1px solid var(--color-control-border);
    border-radius: 0.3rem;
    font: inherit;
    font-size: 0.9rem;
    min-height: 2rem;
    padding: 0.2rem 0.4rem;
}

.booking-overview__filter-select[b-hyq8vh45qg] {
    min-width: 8rem;
}

.booking-overview__filter-input[b-hyq8vh45qg] {
    min-width: 7rem;
}

.booking-overview__filter-input--search[b-hyq8vh45qg] {
    min-width: 10rem;
}

.booking-overview__filter-dropdown[b-hyq8vh45qg] {
    position: relative;
}

.booking-overview__filter-dropdown-backdrop[b-hyq8vh45qg] {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 19;
}

.booking-overview__filter-dropdown-trigger[b-hyq8vh45qg] {
    background: var(--color-surface);
    border: 1px solid var(--color-control-border);
    color: var(--color-text-muted);
    border-radius: 0.3rem;
    cursor: pointer;
    font: inherit;
    font-size: 0.9rem;
    min-height: 2rem;
    overflow: hidden;
    padding: 0.2rem 1.6rem 0.2rem 0.4rem;
    position: relative;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 7rem;
}

.booking-overview__filter-dropdown-trigger[b-hyq8vh45qg]::after {
    color: var(--color-text-muted);
    content: "▾";
    font-size: 0.85em;
    pointer-events: none;
    position: absolute;
    right: 0.45rem;
    top: 50%;
    transform: translateY(-50%);
}

.booking-overview__filter-dropdown-trigger--active[b-hyq8vh45qg] {
    border-color: var(--color-text);
    color: var(--color-text);
    font-weight: 700;
}

.booking-overview__filter-dropdown-panel[b-hyq8vh45qg] {
    background: var(--color-surface);
    border: 1px solid var(--color-control-border);
    border-radius: 0.35rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    left: 0;
    min-width: 10rem;
    padding: 0.5rem 0.6rem;
    position: absolute;
    top: calc(100% + 0.2rem);
    z-index: 20;
}

.booking-overview__filter-check[b-hyq8vh45qg] {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-size: 0.9rem;
    gap: 0.35rem;
    white-space: nowrap;
}

.booking-overview__filter-check input[type="checkbox"][b-hyq8vh45qg] {
    cursor: pointer;
    margin: 0;
}

.booking-overview__filter-check--all[b-hyq8vh45qg] {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 0.35rem;
}

.booking-overview__clear-filters[b-hyq8vh45qg] {
    align-self: flex-end;
    background: none;
    border: 1px solid var(--color-control-border);
    border-radius: 0.3rem;
    color: var(--color-text-muted);
    cursor: pointer;
    font: inherit;
    font-size: 0.85rem;
    min-height: 2rem;
    padding: 0.2rem 0.6rem;
    white-space: nowrap;
}

.booking-overview__clear-filters:hover[b-hyq8vh45qg] {
    border-color: var(--color-text);
    color: var(--color-text);
}

.booking-overview__filter-empty[b-hyq8vh45qg] {
    color: var(--color-text-muted);
    margin: 0;
}

@media (min-width: 48rem) {
    .booking-overview__item[b-hyq8vh45qg]  .booking-overview__summary {
        align-items: start;
        grid-template-columns: 1fr max-content;
    }

    .booking-overview__item[b-hyq8vh45qg]  dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Pages/Bookings/OneTimeBookingRequestForm.razor.rz.scp.css */
.booking-request__form[b-u42dhfsa3a] {
    display: grid;
    gap: 2rem;
}

.booking-request__form label[b-u42dhfsa3a] {
    display: grid;
    gap: 0.55rem;
}

.booking-request__form textarea[b-u42dhfsa3a] {
    min-height: 5.75rem;
}

.booking-request__form .booking-request__checkbox-label[b-u42dhfsa3a] {
    align-items: center;
    display: flex;
    gap: 0.5rem;
}

.booking-request__expandable[b-u42dhfsa3a] {
    display: grid;
    gap: 0.55rem;
}

.booking-request__time-grid[b-u42dhfsa3a] {
    display: grid;
    gap: 1.1rem;
}

/* Removing browser-native date picker chrome lets the date input match select height. */
.booking-request__time-grid input[type="date"][b-u42dhfsa3a] {
    -webkit-appearance: none;
    appearance: none;
}

.booking-request__time-grid select[b-u42dhfsa3a],
.booking-request__time-grid input[b-u42dhfsa3a] {
    height: 2.9rem;
}

.booking-request__hint[b-u42dhfsa3a] {
    border-left: 3px solid var(--color-border);
    color: var(--color-text);
    font-size: 0.9rem;
    line-height: 1.45;
    margin: 0 0 0 0.4rem;
    padding: 0.2rem 0 0.2rem 0.75rem;
}

.booking-request__actions[b-u42dhfsa3a] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
    padding-top: 0.15rem;
}

@media (min-width: 36rem) {
    .booking-request__time-grid[b-u42dhfsa3a] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
/* /Components/Pages/Bookings/Request.razor.rz.scp.css */
.booking-request[b-tocopt6vch] {
    display: grid;
    gap: 1.2rem;
    margin: 0 auto;
    max-width: 34rem;
    padding: 3.25rem 1.25rem;
}

.booking-request__panel[b-tocopt6vch],
.booking-request__form[b-tocopt6vch] {
    display: grid;
}

.booking-request__panel[b-tocopt6vch] {
    gap: 1.5rem;
}

.booking-request__form[b-tocopt6vch] {
    gap: 2rem;
}

    .booking-request__form label[b-tocopt6vch] {
        display: grid;
        gap: 0.55rem;
    }

    .booking-request__form textarea[b-tocopt6vch] {
        min-height: 5.75rem;
    }

.booking-request__form .booking-request__checkbox-label[b-tocopt6vch] {
    align-items: center;
    display: flex;
    gap: 0.5rem;
}

.booking-request__expandable[b-tocopt6vch] {
    display: grid;
    gap: 0.55rem;
}

.booking-request__time-grid[b-tocopt6vch] {
    display: grid;
    gap: 1.1rem;
}

    /* Removing the browser-native date picker chrome (appearance: none) lets CSS
   height rules fully control the input so it matches select height exactly.
   The date picker popup still opens on focus. */
    .booking-request__time-grid input[type="date"][b-tocopt6vch] {
        -webkit-appearance: none;
        appearance: none;
    }

    .booking-request__time-grid select[b-tocopt6vch],
    .booking-request__time-grid input[b-tocopt6vch] {
        height: 2.9rem;
    }

.booking-request__hint[b-tocopt6vch] {
    border-left: 3px solid var(--color-border);
    color: #243b53;
    font-size: 0.9rem;
    line-height: 1.45;
    margin: 0 0 0 0.4rem;
    padding: 0.2rem 0 0.2rem 0.75rem;
}

.booking-request__actions[b-tocopt6vch] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
    padding-top: 0.15rem;
}

.booking-request__toggle[b-tocopt6vch] {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-weight: 500;
    gap: 0.5rem;
}

    .booking-request__toggle input[type="checkbox"][b-tocopt6vch] {
        cursor: pointer;
        height: 1rem;
        width: 1rem;
    }

/* Validity row: Valid from and Valid until side by side. */
.booking-request__validity-grid[b-tocopt6vch] {
    display: grid;
    gap: 1.1rem;
}

/* Valid until column mirrors the label-grid layout. */
.booking-request__valid-until-col[b-tocopt6vch] {
    display: grid;
    gap: 0.55rem;
}

/* Checkbox sits inline before the "Valid until" label text. */
.booking-request__form .booking-request__valid-until-label[b-tocopt6vch] {
    align-items: center;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

.booking-request__valid-until-label input[type="checkbox"][b-tocopt6vch] {
    cursor: pointer;
    flex-shrink: 0;
    height: 1rem;
    width: 1rem;
}

.booking-request__conflicts[b-tocopt6vch] {
    background: #fff8e7;
    border-radius: 0.35rem;
    color: #5c4200;
    font-size: 0.9rem;
    padding: 0.75rem 0.9rem;
}

.booking-request__conflicts-header[b-tocopt6vch] {
    font-weight: 500;
    margin: 0 0 0.4rem;
}

.booking-request__conflicts-list[b-tocopt6vch] {
    margin: 0;
    padding-left: 1.25rem;
}

    .booking-request__conflicts-list li[b-tocopt6vch] {
        margin-bottom: 0.25rem;
    }

@media (min-width: 36rem) {
    .booking-request__time-grid[b-tocopt6vch] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .booking-request__validity-grid[b-tocopt6vch] {
        grid-template-columns: 1fr 1fr;
    }
}
/* /Components/Pages/Calendar.razor.rz.scp.css */
.calendar-page[b-psa8dv684a] {
    display: grid;
    gap: 1.25rem;
    margin: 0 auto;
    max-width: 72rem;
    padding: 3.25rem 1.25rem;
}

.calendar-controls[b-psa8dv684a],
.calendar-summary[b-psa8dv684a] {
    align-items: end;
    border-bottom: 1px solid var(--color-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding-bottom: 1rem;
}

.calendar-controls[b-psa8dv684a] {
    flex-wrap: wrap;
}

.calendar-week-controls[b-psa8dv684a] {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.calendar-field[b-psa8dv684a] {
    color: var(--color-text-muted);
    display: grid;
    font-size: .92rem;
    font-weight: 600;
    gap: .35rem;
}

.calendar-field select[b-psa8dv684a],
.calendar-field input[b-psa8dv684a] {
    background: var(--color-surface);
    border: 1px solid var(--color-control-border);
    border-radius: 6px;
    color: var(--color-text);
    min-height: 2.4rem;
    min-width: 16rem;
    padding: .45rem .65rem;
}

.calendar-field--date input[b-psa8dv684a] {
    min-width: 11rem;
}

.calendar-week-button[b-psa8dv684a] {
    min-height: 2.4rem;
    padding: .45rem .8rem;
}

.calendar-summary[b-psa8dv684a] {
    align-items: center;
}

.calendar-summary h2[b-psa8dv684a],
.calendar-empty h2[b-psa8dv684a] {
    font-size: 1.25rem;
    margin: 0;
}

.calendar-summary p[b-psa8dv684a],
.calendar-empty p[b-psa8dv684a] {
    color: var(--color-text-muted);
    margin: .25rem 0 0;
}

.calendar-summary span[b-psa8dv684a] {
    color: var(--color-text-muted);
    font-weight: 600;
}

.calendar-mode-switch[b-psa8dv684a] {
    align-items: center;
    display: inline-flex;
    gap: .35rem;
}

.calendar-mode-switch__button[b-psa8dv684a] {
    background: var(--color-surface);
    border: 1px solid var(--color-control-border);
    border-radius: 6px;
    color: var(--color-text);
    cursor: pointer;
    font-weight: 700;
    min-height: 2.35rem;
    padding: .45rem .8rem;
}

.calendar-mode-switch__button:hover[b-psa8dv684a] {
    background: #e9ecef;
    border-color: #868e96;
}

.calendar-mode-switch__button--active[b-psa8dv684a] {
    background: var(--color-text);
    border-color: var(--color-text);
    color: var(--color-surface);
}

.calendar-mode-switch__button--active:hover[b-psa8dv684a] {
    background: #343a40;
    border-color: #343a40;
    color: var(--color-surface);
}

.calendar-empty[b-psa8dv684a] {
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 1.25rem;
}

.calendar-week[b-psa8dv684a] {
    display: grid;
    gap: .8rem;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.calendar-day[b-psa8dv684a] {
    border: 1px solid var(--color-border);
    border-radius: 8px;
    min-height: 11rem;
    padding: .9rem;
}

.calendar-day header[b-psa8dv684a] {
    align-items: baseline;
    display: flex;
    justify-content: space-between;
}

.calendar-day header span[b-psa8dv684a] {
    color: var(--color-text-muted);
    font-weight: 700;
    text-transform: uppercase;
}

.calendar-open[b-psa8dv684a] {
    color: var(--color-text-muted);
    margin: 1rem 0 0;
}

.calendar-day__actions[b-psa8dv684a] {
    display: flex;
    justify-content: flex-end;
    margin-top: .9rem;
}

.calendar-day__request[b-psa8dv684a] {
    text-decoration: none;
}

.calendar-entry-list[b-psa8dv684a] {
    display: grid;
    gap: .65rem;
    list-style: none;
    margin: .9rem 0 0;
    padding: 0;
}

.calendar-entry[b-psa8dv684a] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-left: 5px solid var(--type-other-accent);
    border-radius: 6px;
    display: grid;
    gap: .65rem;
    grid-template-columns: max-content minmax(0, 1fr);
    padding: .55rem .65rem;
}

.calendar-entry-button[b-psa8dv684a] {
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
    width: 100%;
}

.calendar-entry-button:hover[b-psa8dv684a],
.calendar-entry-button:focus-visible[b-psa8dv684a],
.calendar-slot-booking:hover[b-psa8dv684a],
.calendar-slot-booking:focus-visible[b-psa8dv684a],
.calendar-slot-booked-item__button:hover[b-psa8dv684a],
.calendar-slot-booked-item__button:focus-visible[b-psa8dv684a] {
    outline: 2px solid var(--color-focus);
    outline-offset: 2px;
}

.calendar-entry--training[b-psa8dv684a] {
    border-left-color: var(--type-training-accent);
}

.calendar-entry--match[b-psa8dv684a] {
    border-left-color: var(--type-match-accent);
}

.calendar-entry--event[b-psa8dv684a] {
    border-left-color: var(--type-event-accent);
}

.calendar-entry--privateuse[b-psa8dv684a] {
    border-left-color: var(--type-privateuse-accent);
}

.calendar-entry--pending[b-psa8dv684a] {
    border-style: dashed dashed dashed solid;
}

.calendar-slots[b-psa8dv684a] {
    display: grid;
    gap: .85rem;
}

.calendar-slots__hours[b-psa8dv684a] {
    color: var(--color-text-muted);
    font-weight: 700;
    margin: 0;
}

.calendar-slots__wide[b-psa8dv684a] {
    overflow-x: auto;
}

.calendar-slots__grid[b-psa8dv684a] {
    border-left: 1px solid var(--color-border);
    border-top: 1px solid var(--color-border);
    display: grid;
    gap: 0;
    grid-auto-rows: minmax(2.75rem, auto);
    grid-template-columns: 4.5rem repeat(7, minmax(7.5rem, 1fr));
    min-width: 58rem;
}

.calendar-slots__corner[b-psa8dv684a],
.calendar-slots__day-heading[b-psa8dv684a],
.calendar-slots__time[b-psa8dv684a],
.calendar-slots__free[b-psa8dv684a],
.calendar-slots__occupied[b-psa8dv684a] {
    border: 0 solid var(--color-border);
    border-width: 0 1px 1px 0;
}

.calendar-slots__corner[b-psa8dv684a],
.calendar-slots__day-heading[b-psa8dv684a] {
    background: var(--color-surface-subtle);
    color: var(--color-text);
    font-weight: 700;
    padding: .6rem;
    position: sticky;
    top: 0;
    z-index: 2;
}

.calendar-slots__day-heading[b-psa8dv684a] {
    display: grid;
    gap: .15rem;
    min-width: 0;
}

.calendar-slots__day-heading span[b-psa8dv684a] {
    color: var(--color-text-muted);
    font-size: .78rem;
    text-transform: uppercase;
}

.calendar-slots__time[b-psa8dv684a] {
    align-items: start;
    background: var(--color-surface);
    color: var(--color-text-muted);
    display: flex;
    font-size: .85rem;
    font-weight: 700;
    padding: .45rem .5rem;
}

.calendar-slots__free[b-psa8dv684a] {
    align-items: center;
    background: var(--free-slot-bg);
    color: transparent;
    display: flex;
    font-size: .78rem;
    font-weight: 700;
    justify-content: center;
    min-width: 0;
    padding: .25rem;
}

.calendar-slots__free-link:hover[b-psa8dv684a] {
    background: var(--free-slot-hover-bg);
    outline: 2px solid var(--free-slot-hover-outline);
    outline-offset: -2px;
}

.calendar-slots__free-link[b-psa8dv684a] {
    appearance: none;
    border-width: 0 1px 1px 0;
    border-radius: 0;
    cursor: pointer;
    font: inherit;
    text-decoration: none;
    width: 100%;
}

.calendar-slots__free-link:focus[b-psa8dv684a],
.calendar-slots__free-link:active[b-psa8dv684a] {
    outline: 0;
    box-shadow: none;
}

.calendar-slots__free-link:focus-visible[b-psa8dv684a] {
    outline: 2px solid var(--color-focus);
    outline-offset: -2px;
}

.calendar-slots__occupied[b-psa8dv684a] {
    background: transparent;
    border-width: 0 1px 0 0;
    min-width: 0;
}

.calendar-slot-booking[b-psa8dv684a] {
    align-content: start;
    align-self: stretch;
    border-left-width: 4px;
    box-shadow: 0 1px 4px rgb(33 37 41 / 12%);
    display: grid;
    gap: .25rem;
    grid-template-columns: minmax(0, 1fr);
    margin: .18rem;
    overflow: hidden;
    padding: .45rem;
    z-index: 3;
}

button.calendar-slot-booking[b-psa8dv684a] {
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.calendar-slot-booking__time[b-psa8dv684a] {
    color: var(--color-text);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
}

.calendar-slot-booking__title[b-psa8dv684a] {
    color: var(--color-text);
    font-size: .86rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.calendar-slots__days[b-psa8dv684a] {
    display: none;
}

.calendar-slot-day[b-psa8dv684a] {
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: .9rem;
}

.calendar-slot-day header[b-psa8dv684a] {
    align-items: baseline;
    display: flex;
    justify-content: space-between;
}

.calendar-slot-day header span[b-psa8dv684a] {
    color: var(--color-text-muted);
    font-weight: 700;
    text-transform: uppercase;
}

.calendar-slot-day__items[b-psa8dv684a] {
    display: grid;
    gap: .5rem;
    list-style: none;
    margin: .9rem 0 0;
    padding: 0;
}

.calendar-slot-free-item[b-psa8dv684a] {
    background: var(--free-slot-bg);
    border: 1px solid var(--free-slot-border);
    border-left: 5px solid var(--free-slot-accent);
    border-radius: 6px;
    display: grid;
    gap: .65rem;
    grid-template-columns: max-content minmax(0, 1fr);
    padding: .55rem .65rem;
}

.calendar-slot-free-item .calendar-entry__details strong[b-psa8dv684a] {
    color: var(--free-slot-text);
}

.calendar-slot-free-item__link[b-psa8dv684a] {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: flex;
    font: inherit;
    min-height: 1.6rem;
    padding: 0;
    text-decoration: none;
    width: 100%;
}

.calendar-slot-free-item__link:hover[b-psa8dv684a],
.calendar-slot-free-item__link:focus-visible[b-psa8dv684a] {
    outline: 2px solid var(--color-focus);
    outline-offset: 2px;
}

.calendar-slot-booked-item[b-psa8dv684a] {
    align-items: center;
    grid-template-columns: max-content minmax(0, 1fr);
}

.calendar-slot-booked-item .calendar-entry__time[b-psa8dv684a] {
    white-space: nowrap;
}

.calendar-slot-booked-item__summary[b-psa8dv684a] {
    align-items: center;
    display: flex;
    gap: .55rem;
    justify-content: flex-start;
    min-width: 0;
}

.calendar-slot-booked-item__button[b-psa8dv684a] {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: flex;
    font: inherit;
    gap: .55rem;
    justify-content: flex-start;
    min-height: 1.6rem;
    min-width: 0;
    padding: 0;
    text-align: left;
    width: 100%;
}

.calendar-slot-booked-item__summary strong[b-psa8dv684a] {
    color: var(--color-text);
    flex: 0 1 auto;
    line-height: 1.25;
    min-width: 0;
    overflow-wrap: anywhere;
}

.calendar-detail-backdrop[b-psa8dv684a] {
    align-items: center;
    background: rgb(33 37 41 / 45%);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 1rem;
    position: fixed;
    z-index: 20;
}

.calendar-detail[b-psa8dv684a] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    box-shadow: 0 1rem 2.5rem rgb(33 37 41 / 22%);
    display: grid;
    gap: 1rem;
    max-height: min(42rem, calc(100vh - 2rem));
    max-width: 34rem;
    overflow: auto;
    padding: 1.1rem;
    width: min(100%, 34rem);
}

.calendar-booking-dialog[b-psa8dv684a] {
    max-width: 38rem;
    width: min(100%, 38rem);
}

.calendar-detail__header[b-psa8dv684a] {
    align-items: start;
    border-bottom: 1px solid var(--color-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding-bottom: .85rem;
}

.calendar-detail__header-actions[b-psa8dv684a] {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: .4rem;
}

.calendar-detail__header h2[b-psa8dv684a] {
    font-size: 1.35rem;
    line-height: 1.25;
    margin: .45rem 0 0;
    overflow-wrap: anywhere;
}

.calendar-detail__icon-action[b-psa8dv684a],
.calendar-detail__close[b-psa8dv684a] {
    align-items: center;
    background: var(--color-surface-subtle);
    border: 1px solid var(--color-control-border);
    border-radius: 6px;
    color: var(--color-text);
    display: inline-flex;
    height: 2.5rem;
    justify-content: center;
    line-height: 1;
    padding: 0;
    text-decoration: none;
    width: 2.5rem;
}

.calendar-detail__close[b-psa8dv684a] {
    cursor: pointer;
    font-size: 1.8rem;
}

.calendar-detail__close span[b-psa8dv684a] {
    display: block;
    line-height: .8;
    transform: translateY(-.04rem);
}

.calendar-detail__icon-action:hover[b-psa8dv684a],
.calendar-detail__icon-action:focus-visible[b-psa8dv684a],
.calendar-detail__close:hover[b-psa8dv684a],
.calendar-detail__close:focus-visible[b-psa8dv684a] {
    background: #e9ecef;
    outline: 2px solid var(--color-focus);
    outline-offset: 2px;
}

.calendar-detail__kind[b-psa8dv684a],
.calendar-detail__status[b-psa8dv684a] {
    border: 1px solid var(--color-border);
    border-radius: 999px;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.1;
    padding: .28rem .55rem;
}

.calendar-detail__kind--training[b-psa8dv684a] {
    background: var(--type-training-bg);
    border-color: var(--type-training-border);
    color: var(--type-training-text);
}

.calendar-detail__kind--match[b-psa8dv684a] {
    background: var(--type-match-bg);
    border-color: var(--type-match-border);
    color: var(--type-match-text);
}

.calendar-detail__kind--event[b-psa8dv684a] {
    background: var(--type-event-bg);
    border-color: var(--type-event-border);
    color: var(--type-event-text);
}

.calendar-detail__kind--privateuse[b-psa8dv684a] {
    background: var(--type-privateuse-bg);
    border-color: var(--type-privateuse-border);
    color: var(--type-privateuse-text);
}

.calendar-detail__status--pending[b-psa8dv684a] {
    background: var(--status-pending-bg);
    border-color: var(--status-pending-border);
    color: var(--status-pending-text);
}

.calendar-detail__status--approved[b-psa8dv684a] {
    background: var(--status-approved-bg);
    border-color: var(--status-approved-border);
    color: var(--status-approved-text);
}

.calendar-detail__status--rejected[b-psa8dv684a] {
    background: var(--status-rejected-bg);
    border-color: var(--status-rejected-border);
    color: var(--status-rejected-text);
}

.calendar-detail__status--canceled[b-psa8dv684a] {
    background: var(--status-cancelled-bg);
    border-color: var(--status-cancelled-border);
    color: var(--status-cancelled-text);
}

.calendar-detail__list[b-psa8dv684a] {
    display: grid;
    gap: .75rem;
    margin: 0;
}

.calendar-detail__list div[b-psa8dv684a] {
    display: grid;
    gap: .2rem;
}

.calendar-detail__list dt[b-psa8dv684a] {
    color: var(--color-text-muted);
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.calendar-detail__list dd[b-psa8dv684a] {
    color: var(--color-text);
    margin: 0;
    overflow-wrap: anywhere;
}

.calendar-detail__value-with-marker[b-psa8dv684a] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.calendar-detail__actions[b-psa8dv684a] {
    border-top: 1px solid var(--color-border);
    padding-top: .85rem;
}

.calendar-detail__cancel-error[b-psa8dv684a] {
    background: var(--feedback-error-bg);
    border-radius: 0.35rem;
    color: var(--feedback-error-text);
    font-size: .9rem;
    margin: 0;
    padding: .55rem .75rem;
}

.calendar-detail__cancel-action[b-psa8dv684a] {
    font-size: .9rem;
    padding: .4rem .75rem;
}

@media (max-width: 40rem) {
    .calendar-page[b-psa8dv684a] {
        padding: 2rem 1rem;
    }

    .calendar-controls[b-psa8dv684a],
    .calendar-summary[b-psa8dv684a] {
        align-items: stretch;
        display: grid;
    }

    .calendar-field select[b-psa8dv684a],
    .calendar-field input[b-psa8dv684a],
    .calendar-week-button[b-psa8dv684a] {
        min-width: 0;
        width: 100%;
    }

    .calendar-week-controls[b-psa8dv684a] {
        display: grid;
    }

    .calendar-week[b-psa8dv684a] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 56rem) {
    .calendar-slots__wide[b-psa8dv684a] {
        display: none;
    }

    .calendar-slots__days[b-psa8dv684a] {
        display: grid;
        gap: .8rem;
    }
}

@media (max-width: 24rem) {
    .calendar-entry[b-psa8dv684a],
    .calendar-slot-free-item[b-psa8dv684a] {
        gap: .4rem;
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/CalendarEntryContent.razor.rz.scp.css */
.calendar-entry__time[b-0mcnizffxf] {
    color: var(--color-text);
    display: grid;
    font-size: .9rem;
    font-weight: 700;
    gap: .35rem;
    white-space: nowrap;
}

.calendar-entry__details[b-0mcnizffxf] {
    display: grid;
    gap: .28rem;
    min-width: 0;
}

.calendar-entry__details strong[b-0mcnizffxf] {
    color: var(--color-text);
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.calendar-entry__private[b-0mcnizffxf] {
    color: var(--color-text-muted);
    font-size: .82rem;
}
/* /Components/Pages/CalendarEntryMarkers.razor.rz.scp.css */
.calendar-entry__markers[b-xzbfrm4r0t] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    min-width: 0;
}

.calendar-entry__pending[b-xzbfrm4r0t],
.calendar-entry__recurring[b-xzbfrm4r0t],
.calendar-entry__own[b-xzbfrm4r0t] {
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    color: var(--color-text-muted);
    display: inline-flex;
    height: 1.28rem;
    justify-content: center;
    width: 1.28rem;
}

.calendar-entry__pending[b-xzbfrm4r0t] {
    background: var(--status-pending-bg);
    border-color: var(--status-pending-border);
    color: var(--status-pending-text);
}

.calendar-entry__pending svg[b-xzbfrm4r0t],
.calendar-entry__recurring svg[b-xzbfrm4r0t],
.calendar-entry__own svg[b-xzbfrm4r0t] {
    display: block;
    fill: none;
    height: .95rem;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8px;
    width: .95rem;
}

.calendar-entry__own svg[b-xzbfrm4r0t] {
    fill: currentColor;
    stroke: none;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-page[b-fwpsuesq5k] {
    display: grid;
    gap: 1.4rem;
    margin: 0 auto;
    max-width: 54rem;
    padding: 3rem 1.25rem;
}

.home-page__actions[b-fwpsuesq5k] {
    display: grid;
    gap: 0.85rem;
}

.home-page__action[b-fwpsuesq5k] {
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    color: var(--color-text);
    display: grid;
    gap: 0.25rem;
    padding: 1rem;
    text-decoration: none;
}

.home-page__action:hover[b-fwpsuesq5k] {
    border-color: var(--color-focus);
}

.home-page__action span[b-fwpsuesq5k] {
    color: var(--color-interactive);
    font-weight: 700;
}

.home-page__action small[b-fwpsuesq5k] {
    color: var(--color-text-muted);
}

.home-page__action--secondary span[b-fwpsuesq5k] {
    color: #334e68;
}

@media (min-width: 42rem) {
    .home-page__actions[b-fwpsuesq5k] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* /Components/Pages/Members/Index.razor.rz.scp.css */
.members-page[b-jlonri8m02] {
    display: grid;
    gap: 2rem;
    margin: 0 auto;
    max-width: 64rem;
    padding: 2rem 1.25rem;
}

.members-page h2[b-jlonri8m02] {
    margin: 0;
}

.members-page__invitations-link[b-jlonri8m02] {
    margin-top: -0.5rem;
}

.members-page__table[b-jlonri8m02] {
    border-collapse: collapse;
    width: 100%;
}

.members-page__table th[b-jlonri8m02],
.members-page__table td[b-jlonri8m02] {
    padding: 0.5rem 0.75rem;
    text-align: left;
    vertical-align: top;
}

.members-page__table th[b-jlonri8m02] {
    border-bottom: 2px solid var(--color-border);
    font-weight: 600;
}

.members-page__table td[b-jlonri8m02] {
    border-bottom: 1px solid var(--color-border-subtle);
}

.members-page__table tr:last-child td[b-jlonri8m02] {
    border-bottom: none;
}

.members-page__row--clickable[b-jlonri8m02] {
    cursor: pointer;
}

.members-page__row--clickable:hover td[b-jlonri8m02] {
    background: var(--color-surface-hover);
}

.members-page__row--clickable:focus-visible[b-jlonri8m02] {
    outline: 2px solid var(--color-focus);
    outline-offset: -2px;
}

.members-page__status[b-jlonri8m02] {
    border-radius: 0.25rem;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 0.15rem 0.45rem;
}

.members-page__status--active[b-jlonri8m02] {
    background: var(--user-active-bg);
    color: var(--user-active-text);
}

.members-page__status--resigned[b-jlonri8m02] {
    background: var(--color-surface-subtle);
    color: var(--color-text-muted);
}

.members-page__status--removed[b-jlonri8m02] {
    background: var(--user-removed-bg);
    color: var(--user-removed-text);
}

.members-page__role[b-jlonri8m02] {
    background: var(--color-surface-subtle);
    border-radius: 0.25rem;
    color: var(--color-text-muted);
    font-size: 0.8rem;
    font-weight: 500;
    padding: 0.15rem 0.45rem;
}

/* Modal */

.members-page__modal-backdrop[b-jlonri8m02] {
    background: rgba(0, 0, 0, 0.35);
    inset: 0;
    position: fixed;
    z-index: 100;
}

.members-page__modal[b-jlonri8m02] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    display: grid;
    gap: 1.25rem;
    left: 50%;
    max-width: 28rem;
    padding: 1.25rem;
    position: fixed;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 2rem);
    z-index: 101;
}

.members-page__modal-header[b-jlonri8m02] {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.members-page__modal-identity[b-jlonri8m02] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.members-page__modal-name[b-jlonri8m02] {
    font-weight: 600;
}

.members-page__modal-close[b-jlonri8m02] {
    flex-shrink: 0;
}

.members-page__modal-actions[b-jlonri8m02] {
    display: grid;
    gap: 1rem;
}

.members-page__modal-action-group[b-jlonri8m02] {
    display: grid;
    gap: 0.6rem;
}

.members-page__modal-action-group--role[b-jlonri8m02] {
    border-bottom: 1px solid var(--color-border-subtle);
    padding-bottom: 1rem;
}

.members-page__modal-action-group h3[b-jlonri8m02] {
    color: var(--color-text-muted);
    font-size: 0.85rem;
    margin: 0;
    text-transform: uppercase;
}

.members-page__modal-confirm[b-jlonri8m02] {
    display: grid;
    gap: 0.75rem;
}

.members-page__modal-prompt[b-jlonri8m02] {
    color: var(--color-text-muted);
    font-size: 0.95rem;
    margin: 0;
}

.members-page__modal-note-label[b-jlonri8m02] {
    display: grid;
    font-size: 0.875rem;
    gap: 0.3rem;
}

.members-page__modal-note[b-jlonri8m02] {
    font: inherit;
    font-size: 0.875rem;
    padding: 0.4rem 0.5rem;
    resize: vertical;
    width: 100%;
}

.members-page__modal-error[b-jlonri8m02] {
    color: var(--feedback-error-text);
    font-size: 0.9rem;
    margin: 0;
}

.members-page__modal-confirm-actions[b-jlonri8m02] {
    display: flex;
    gap: 0.5rem;
}
/* /Components/Pages/Members/Invitations.razor.rz.scp.css */
.invitations-page[b-e28ya4vvtc] {
    display: grid;
    gap: 2rem;
    margin: 0 auto;
    max-width: 64rem;
    padding: 2rem 1.25rem;
}

.invitations-page h2[b-e28ya4vvtc] {
    margin: 0;
}

.invitations-page__invite[b-e28ya4vvtc] {
    display: grid;
    gap: 1rem;
}

.invitations-page__invite-form[b-e28ya4vvtc] {
    display: grid;
    gap: 0.9rem;
    max-width: 28rem;
}

.invitations-page__invite-form label[b-e28ya4vvtc] {
    display: grid;
    gap: 0.4rem;
}

.invitations-page__invite-link[b-e28ya4vvtc] {
    background: var(--feedback-success-bg);
    border-radius: 0.35rem;
    color: var(--feedback-success-text);
    display: grid;
    gap: 0.4rem;
    overflow-wrap: anywhere;
    padding: 0.75rem 0.9rem;
}

.invitations-page__invite-link p[b-e28ya4vvtc] {
    margin: 0;
}

.invitations-page__list[b-e28ya4vvtc] {
    display: grid;
    gap: 1rem;
}

.invitations-page__table[b-e28ya4vvtc] {
    border-collapse: collapse;
    width: 100%;
}

.invitations-page__table th[b-e28ya4vvtc],
.invitations-page__table td[b-e28ya4vvtc] {
    padding: 0.5rem 0.75rem;
    text-align: left;
    vertical-align: top;
}

.invitations-page__table th[b-e28ya4vvtc] {
    border-bottom: 2px solid var(--color-border);
    font-weight: 600;
}

.invitations-page__table td[b-e28ya4vvtc] {
    border-bottom: 1px solid var(--color-border-subtle);
}

.invitations-page__table tr:last-child td[b-e28ya4vvtc] {
    border-bottom: none;
}
/* /Components/StatusMessage.razor.rz.scp.css */
.status-message[b-xoeb2cygdf] {
    border-radius: 0.35rem;
    padding: 0.75rem 0.9rem;
}

.status-message--success[b-xoeb2cygdf] {
    background: var(--feedback-success-bg);
    color: var(--feedback-success-text);
}

.status-message--error[b-xoeb2cygdf] {
    background: var(--feedback-error-bg);
    color: var(--feedback-error-text);
}
/* /Components/WorkflowPlaceholder.razor.rz.scp.css */
.workflow-placeholder[b-n22i08fe13] {
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
}

.workflow-placeholder h2[b-n22i08fe13],
.workflow-placeholder p[b-n22i08fe13],
.workflow-placeholder ul[b-n22i08fe13] {
    margin: 0;
}

.workflow-placeholder p[b-n22i08fe13],
.workflow-placeholder li[b-n22i08fe13] {
    color: var(--color-text-muted);
}

.workflow-placeholder ul[b-n22i08fe13] {
    padding-left: 1.25rem;
}

.workflow-placeholder__status[b-n22i08fe13] {
    background: #fff4d6;
    border: 1px solid #e1bf66;
    border-radius: 999px;
    color: #6f4e00;
    font-size: 0.9rem;
    font-weight: 700;
    justify-self: start;
    padding: 0.2rem 0.55rem;
}

.workflow-placeholder__links[b-n22i08fe13] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.workflow-placeholder__links a[b-n22i08fe13] {
    color: var(--color-interactive);
    font-weight: 700;
}
