/* /AdminSettings/Organisations/Components/OrganisationClubsTab.razor.rz.scp.css */
.organisation-club-list[b-coj0ufqqwj] {
    border: 1px solid var(--surface-border);
    border-radius: 0.75rem;
    overflow: hidden;
}

.organisation-club-row[b-coj0ufqqwj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem;
}

.organisation-club-row + .organisation-club-row[b-coj0ufqqwj] {
    border-top: 1px solid var(--surface-border);
}

.organisation-club-identity[b-coj0ufqqwj] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.organisation-club-actions[b-coj0ufqqwj] {
    display: grid;
    grid-template-columns: 2.75rem 6rem;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.organisation-club-add[b-coj0ufqqwj] {
    padding: 1rem;
    border: 1px dashed var(--surface-border);
    border-radius: 0.75rem;
}

.organisation-club-add-fields[b-coj0ufqqwj] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
}

@media (max-width: 575.98px) {
    .organisation-club-row[b-coj0ufqqwj] {
        flex-wrap: wrap;
    }

    .organisation-club-actions[b-coj0ufqqwj] {
        margin-inline-start: auto;
    }
}
/* /AdminSettings/Organisations/Components/PartyTile.razor.rz.scp.css */
.party-tile[b-olu8xyahcd] {
    border-radius: 1rem;
    background: transparent;
    color: var(--body-color);
    border: 1px solid var(--surface-border);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.party-tile:hover[b-olu8xyahcd] {
    border-color: var(--primary-solid);
    transform: translateY(-3px);
    box-shadow: 0 0.75rem 1.75rem rgba(var(--primary-solid-rgb), 0.18) !important;
}

.party-tile-open[b-olu8xyahcd] {
    width: 100%;
    height: 100%;
    color: inherit;
}

.party-tile-open:focus-visible[b-olu8xyahcd] {
    outline: 3px solid rgba(var(--primary-solid-rgb), 0.4);
    outline-offset: 4px;
    border-radius: 0.5rem;
}

.party-tile-title[b-olu8xyahcd] { font-weight: 700; }

.party-tile-subtitle[b-olu8xyahcd] {
    color: var(--bs-secondary-color);
    font-size: 0.875rem;
}

.party-tile-content[b-olu8xyahcd] { margin-top: 1rem; }

.party-tile-compact .card-body[b-olu8xyahcd] {
    padding: 0.75rem;
}

.party-tile-compact .party-tile-content[b-olu8xyahcd] {
    margin-top: 0.5rem;
}

.party-tile-static[b-olu8xyahcd] {
    background: var(--surface-bg);
    transition: none;
}

.party-tile-static:hover[b-olu8xyahcd] {
    border-color: var(--surface-border);
    box-shadow: none !important;
    transform: none;
}

.party-tile-heading[b-olu8xyahcd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.party-tile-heading .party-tile-title[b-olu8xyahcd] {
    min-width: 0;
    overflow-wrap: anywhere;
}
/* /AdminSettings/Organisations/OrganisationPanel.razor.rz.scp.css */
.organisation-loading[b-6riixbpiy4] {
    position: fixed;
    top: 20vh;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
}
/* /AdminSettings/SportFacilities/AddFacilityResourceForm.razor.rz.scp.css */
.facility-resource-create[b-ksvisvp7jk] {
    padding: 1rem;
    margin: 0.75rem;
    border: 1px dashed var(--surface-border);
    border-radius: 0.75rem;
}
/* /AdminSettings/SportFacilities/Components/SportFacilityCatalogCard.razor.rz.scp.css */
.sport-facility-tile[b-6k603kgy4k] {
    cursor: pointer;
    border: 1px solid var(--surface-border);
    border-radius: 1rem;
    background: transparent;
    color: var(--body-color);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.sport-facility-tile:hover[b-6k603kgy4k] {
    border-color: var(--primary-solid);
    transform: translateY(-3px);
    box-shadow: 0 0.75rem 1.75rem rgba(var(--primary-solid-rgb), 0.18) !important;
}

.sport-facility-tile:focus-visible[b-6k603kgy4k] {
    outline: 2px solid var(--primary-solid);
    outline-offset: 3px;
}

.sport-facility-tile-title[b-6k603kgy4k] {
    font-weight: 700;
}

.sport-facility-tile-address[b-6k603kgy4k] {
    color: var(--bs-secondary-color);
    font-size: 0.875rem;
}

.sport-facility-opening-hours[b-6k603kgy4k] {
    cursor: default;
    color: var(--bs-secondary-color);
}

.sport-facility-opening-hours summary[b-6k603kgy4k] {
    cursor: pointer;
}

.sport-facility-opening-hours ul[b-6k603kgy4k] {
    display: grid;
    gap: 0.25rem;
}

.sport-facility-opening-hours li[b-6k603kgy4k] {
    display: grid;
    grid-template-columns: minmax(8rem, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
}

.sport-facility-opening-hours li span:last-child[b-6k603kgy4k] {
    text-align: right;
}
/* /AdminSettings/SportFacilities/ManageSportFacility.razor.rz.scp.css */
.facility-modal-loading[b-tceibwsjnf] {
    display: flex;
    justify-content: center;
    padding: 3rem;
}

.facility-resource-list[b-tceibwsjnf] {
    border: 1px solid var(--surface-border);
    border-radius: 0.75rem;
    overflow: hidden;
}

.facility-resource-row[b-tceibwsjnf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem;
    padding-inline-start: calc(0.75rem + var(--facility-resource-depth, 0) * 1rem);
    border-top: 1px solid var(--surface-border);
}

.facility-resource-root[b-tceibwsjnf] {
    border-top: 0;
    background: var(--surface-bg-alt);
}

.facility-resource-identity[b-tceibwsjnf] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
    overflow-wrap: anywhere;
}

.facility-resource-name[b-tceibwsjnf] {
    font-weight: 500;
}

.facility-resource-actions[b-tceibwsjnf] {
    display: grid;
    grid-template-columns: 2.75rem 5.5rem 2rem;
    align-items: center;
    justify-content: flex-end;
    flex-shrink: 0;
    gap: 0.35rem;
}

.facility-resource-add-link[b-tceibwsjnf] {
    align-self: flex-start;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--primary-solid);
    font-size: 0.75rem;
    text-align: left;
}

.facility-resource-add-link:hover[b-tceibwsjnf] {
    text-decoration: underline;
}

@media (max-width: 575.98px) {
    .facility-resource-row[b-tceibwsjnf] {
        flex-wrap: wrap;
    }

    .facility-resource-actions[b-tceibwsjnf] {
        margin-inline-start: auto;
    }
}

.hours-label[b-tceibwsjnf] {
    flex-shrink: 0;
}

@media (min-width: 576px) {
    .hours-label[b-tceibwsjnf] {
        min-width: 10rem;
    }
}
/* /AdminSettings/SportFacilities/SportFacilites.razor.rz.scp.css */
.sport-facilities-panel[b-frg83fkf7v] {
    width: min(100%, 68rem);
    margin: 0 auto;
}

.sport-facilities-grid[b-frg83fkf7v] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: 1rem;
}
/* /Auth/Avatar/UserAvatar.razor.rz.scp.css */
.user-avatar-small i[b-5xi77xv2q1] {
    font-size: 3rem;
    color: var(--text-muted);
}

.dropdown-item-container[b-5xi77xv2q1]  .custom-nav-link {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: none;
    background: transparent;
    border-radius: 0.6rem;
    color: var(--body-color);
    font-size: 0.9rem;
    text-align: left;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.dropdown-item-container[b-5xi77xv2q1]  .custom-nav-link:hover:not(:disabled) {
    background-color: rgba(var(--primary-solid-rgb), 0.12);
}

.dropdown-item-container[b-5xi77xv2q1]  .custom-nav-link:disabled {
    opacity: 0.6;
    cursor: default;
}

.dropdown-item-container[b-5xi77xv2q1]  .custom-nav-link.text-danger {
    color: #dc3545 !important;
}

.dropdown-item-container[b-5xi77xv2q1]  .custom-nav-link.text-danger:hover:not(:disabled) {
    color: #ff6b6b !important;
    background-color: rgba(220, 53, 69, 0.1);
}

.dropdown-menu[b-5xi77xv2q1] {
    position: absolute;
    right: 0;
    left: auto;
    bottom: 100%;
    top: auto;
    margin-bottom: 0.5rem;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
    display: block;
}

.dropdown-menu.show[b-5xi77xv2q1] {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
/* /Auth/SignIn/SignIn.razor.rz.scp.css */
/* /Invitations/Invitations.razor.rz.scp.css */
.invitation-list[b-yyf4lvlynx] {
    display: grid;
    gap: 1rem;
}

.invitation-card[b-yyf4lvlynx] {
    padding: 1rem;
    border: 1px solid var(--surface-border);
    border-radius: 0.75rem;
}

.invitation-card-heading[b-yyf4lvlynx] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.invitation-card-fields[b-yyf4lvlynx] {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 0.5rem;
    row-gap: 0.15rem;
    align-items: baseline;
}

@media (max-width: 320px) {
    .invitation-card-heading[b-yyf4lvlynx] {
        align-items: stretch;
        flex-direction: column;
    }

    .invitation-effects .btn[b-yyf4lvlynx] {
        min-height: 44px;
        width: 100%;
    }
}
/* /Layout/AuthLayout.razor.rz.scp.css */
.auth-shell[b-tyk0v19cau] {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(2rem + env(safe-area-inset-top, 0px)) 1rem calc(2rem + env(safe-area-inset-bottom, 0px));
    background: transparent;
}

.auth-shell-inner[b-tyk0v19cau] {
    width: 100%;
    max-width: 420px;
}

[b-tyk0v19cau] .card {
    border-radius: 1.25rem;
    border: 1px solid var(--primary-solid);
    box-shadow: 0 0 0 1px rgba(var(--primary-solid-rgb), 0.15), 0 18px 40px rgba(0, 0, 0, 0.35) !important;
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-eblzc22xj4] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
    background: transparent;
}

main[b-eblzc22xj4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-bottom: calc(6.25rem + env(safe-area-inset-bottom, 0px));
}

.top-row[b-eblzc22xj4] {
    position: relative;
    flex: none;
    height: calc(2.75rem + env(safe-area-inset-top, 0px));
    padding: env(safe-area-inset-top, 0px) 0.75rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    width: 100%;
}

.topbar-icon-btn[b-eblzc22xj4] {
    position: absolute;
    right: 0.75rem;
    top: env(safe-area-inset-top, 0px);
    bottom: 0;
    margin: auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border: none;
    background: transparent;
    color: var(--text-muted);
    font-size: 1rem;
    padding: 0;
}

.topbar-icon-btn:disabled[b-eblzc22xj4] {
    opacity: 0.6;
    cursor: default;
}

article.content[b-eblzc22xj4] {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-top: 1.1rem;
}

.footer[b-eblzc22xj4] {
    margin-top: auto;
    padding-top: 1.5rem;
    text-align: center;
}

.footer .text-muted[b-eblzc22xj4] {
    font-size: 0.7rem;
}

.bottom-nav[b-eblzc22xj4] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: stretch;
    justify-content: space-around;
    height: calc(4.75rem + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background-color: var(--surface-bg);
    border-top: 1px solid var(--surface-border);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.25);
    z-index: 1000;
}

.bottom-nav[b-eblzc22xj4]  .dropup {
    flex: 1;
    display: flex;
    align-items: stretch;
    position: relative;
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-btn {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    border: none;
    background: transparent;
    color: var(--text-muted);
    text-decoration: none;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.25rem;
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-icon {
    font-size: 1.3rem;
    line-height: 1;
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-label {
    white-space: nowrap;
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-btn.active::before,
.bottom-nav[b-eblzc22xj4]  .nav-tab-btn[aria-expanded="true"]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2.5rem;
    height: 0.2rem;
    border-radius: 0 0 0.2rem 0.2rem;
    background: var(--primary-solid);
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-center {
    justify-content: flex-start;
    padding-top: 2.5rem;
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-center.active::before {
    content: none;
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-fab {
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    border: 0.3rem solid var(--body-bg);
    background: var(--gold-gradient);
    color: var(--gold-contrast);
    font-size: 1.4rem;
    line-height: 1;
    box-shadow: 0 0.5rem 1.25rem rgba(var(--gold-solid-rgb), 0.45);
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-center.active .nav-tab-fab {
    box-shadow: 0 0 0 0.2rem rgba(var(--gold-solid-rgb), 0.4), 0 0.5rem 1.25rem rgba(var(--gold-solid-rgb), 0.55);
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-btn.active,
.bottom-nav[b-eblzc22xj4]  .nav-tab-btn[aria-expanded="true"],
.bottom-nav[b-eblzc22xj4]  .nav-tab-btn:hover:not(:disabled) {
    color: var(--primary-solid);
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-center.active,
.bottom-nav[b-eblzc22xj4]  .nav-tab-center:hover:not(:disabled) {
    color: var(--gold-solid);
}

.bottom-nav[b-eblzc22xj4]  .nav-tab-btn:disabled {
    color: var(--text-muted);
    opacity: 0.45;
    cursor: default;
}

.above-nav[b-eblzc22xj4] {
    bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px) + 1rem);
    z-index: 1100;
}

.app-toast[b-eblzc22xj4] {
    background-color: var(--surface-bg);
    color: var(--body-color);
    border: 2px solid var(--surface-border);
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

.app-toast-success[b-eblzc22xj4] {
    --toast-accent: #22c55e;
    border-color: var(--toast-accent);
}

.app-toast-warning[b-eblzc22xj4] {
    --toast-accent: #f59e0b;
    border-color: var(--toast-accent);
}

.app-toast-error[b-eblzc22xj4] {
    --toast-accent: #ef4444;
    border-color: var(--toast-accent);
}

.app-toast-icon[b-eblzc22xj4] {
    color: var(--toast-accent, var(--primary-solid));
    font-size: 1.1rem;
    flex-shrink: 0;
}

.app-toast-close[b-eblzc22xj4] {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--toast-accent, var(--primary-solid));
    font-size: 0.9rem;
    line-height: 1;
    padding: 0.25rem;
    flex-shrink: 0;
}

.app-toast-close:hover[b-eblzc22xj4] {
    opacity: 0.75;
}
/* /Layout/NavMenu.razor.rz.scp.css */
/* /MyBookings/MyBookings.razor.rz.scp.css */
.my-bookings-panel[b-43ay0syk0j] {
    width: min(100%, 68rem);
    margin: 0 auto;
}
.customer-orders[b-43ay0syk0j] { display: grid; gap: 0.75rem; }
.customer-order-card[b-43ay0syk0j] {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--surface-border);
    border-radius: 1rem;
    background: transparent;
    color: var(--body-color);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.customer-order-card:hover[b-43ay0syk0j] { border-color: var(--primary-solid); transform: translateY(-2px); box-shadow: 0 0.75rem 1.75rem rgba(var(--primary-solid-rgb), 0.14) !important; }
.customer-order-toggle[b-43ay0syk0j] { display: grid; grid-template-columns: minmax(0, 1fr) 2rem; align-items: center; width: 100%; min-height: 4rem; padding: 1rem 1.25rem; border: 0; background: transparent; color: inherit; text-align: left; }
.customer-order-toggle:focus-visible[b-43ay0syk0j] { outline: 3px solid rgba(var(--primary-solid-rgb), 0.4); outline-offset: -4px; border-radius: 1rem; }
.customer-order-toggle:disabled[b-43ay0syk0j] { opacity: 1; cursor: wait; }
.customer-order-title[b-43ay0syk0j] { min-width: 0; }
.customer-order-action[b-43ay0syk0j] { display: inline-flex; align-items: center; justify-content: flex-end; color: var(--primary-solid); }
.customer-order-details[b-43ay0syk0j] { display: grid; gap: 1.5rem; padding: 1.25rem; border-top: 1px solid var(--surface-border); background: var(--surface-bg-alt); }
.customer-order-details h4[b-43ay0syk0j] { font-size: 1rem; margin-bottom: 0.75rem; }
.customer-order-details h5[b-43ay0syk0j] { font-size: 0.925rem; margin: 1rem 0 0.5rem; }
.details-table-wrap[b-43ay0syk0j] { width: 100%; overflow-x: auto; border: 1px solid var(--surface-border); border-radius: 0.65rem; }
.details-table[b-43ay0syk0j] { width: 100%; table-layout: fixed; border-collapse: collapse; background: var(--surface-bg); }
.details-table th[b-43ay0syk0j], .details-table td[b-43ay0syk0j] { padding: 0.65rem 0.8rem; vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.details-table thead th[b-43ay0syk0j] { color: var(--bs-secondary-color); font-size: 0.8rem; font-weight: 700; }
.details-table tbody tr:nth-child(even)[b-43ay0syk0j] { background: var(--surface-bg-alt); }
.facility-information th[b-43ay0syk0j] { width: 9rem; }
.facility-resource-path th:first-child[b-43ay0syk0j], .facility-resource-path td:first-child[b-43ay0syk0j] { width: 9rem; }
.booking-terms th:nth-child(1)[b-43ay0syk0j], .booking-terms td:nth-child(1)[b-43ay0syk0j] { width: 8.5rem; }
.booking-terms th:nth-child(2)[b-43ay0syk0j], .booking-terms td:nth-child(2)[b-43ay0syk0j] { width: 9rem; }
.booking-terms th:nth-child(3)[b-43ay0syk0j], .booking-terms td:nth-child(3)[b-43ay0syk0j] { width: 8rem; }
.order-id[b-43ay0syk0j] { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 0.8rem; margin: 0; padding: 0.65rem 0.8rem; border: 1px solid var(--surface-border); border-radius: 0.65rem; background: var(--surface-bg); font-size: 0.8rem; overflow-wrap: anywhere; }

@media (max-width: 640px) {
    .details-table[b-43ay0syk0j] { min-width: 36rem; }
    .facility-information[b-43ay0syk0j] { min-width: 24rem; }
    .order-id[b-43ay0syk0j] { grid-template-columns: 1fr; gap: 0.2rem; }
}
/* /OrganisationProposals/AdminOrganisationProposals.razor.rz.scp.css */
.admin-proposal-page[b-3c4ieqvdxw] {
    padding-bottom: 2rem;
}

.admin-proposal-layout[b-3c4ieqvdxw] {
    width: 100%;
}

.admin-proposal-items[b-3c4ieqvdxw] {
    display: grid;
    gap: 0.5rem;
}

.admin-proposal-item[b-3c4ieqvdxw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 44px;
    width: 100%;
    padding: 0.75rem;
    border: 1px solid var(--surface-border);
    border-radius: 0.5rem;
    background: transparent;
    color: inherit;
    text-align: left;
}

.admin-proposal-item.active[b-3c4ieqvdxw] {
    border-color: var(--primary-solid);
}

.admin-proposal-item span:first-child[b-3c4ieqvdxw] {
    display: grid;
}

.admin-proposal-snapshot[b-3c4ieqvdxw] {
    display: grid;
    grid-template-columns: minmax(9rem, auto) minmax(0, 1fr);
    gap: 0.5rem 1rem;
}

.admin-proposal-snapshot dd[b-3c4ieqvdxw] {
    overflow-wrap: anywhere;
}

.admin-proposal-actions[b-3c4ieqvdxw] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
}

@media (max-width: 767.98px) {
    .admin-proposal-snapshot[b-3c4ieqvdxw] {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-proposal-snapshot dt[b-3c4ieqvdxw] {
        margin-top: 0.5rem;
    }

    .admin-proposal-actions[b-3c4ieqvdxw] {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .admin-proposal-actions .btn[b-3c4ieqvdxw] {
        min-height: 44px;
        width: 100%;
    }
}
/* /OrganisationProposals/OrganisationProposalForm.razor.rz.scp.css */
.proposal-form-grid[b-l6qsp8mzn6] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.proposal-form-wide[b-l6qsp8mzn6] {
    grid-column: 1 / -1;
}

.proposal-form-section[b-l6qsp8mzn6] {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
}

.proposal-form-section > legend[b-l6qsp8mzn6] {
    float: none;
    width: auto;
    margin: 0;
    padding: 0 0.5rem;
    font-size: 1rem;
    font-weight: 600;
}

.proposal-actions[b-l6qsp8mzn6] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1.25rem;
}

@media (max-width: 575.98px) {
    .proposal-form-grid[b-l6qsp8mzn6] {
        grid-template-columns: minmax(0, 1fr);
    }

    .proposal-form-wide[b-l6qsp8mzn6] {
        grid-column: auto;
    }

    .proposal-actions .btn[b-l6qsp8mzn6] {
        min-height: 44px;
        width: 100%;
    }
}
/* /OrganisationProposals/OrganisationProposals.razor.rz.scp.css */
.proposal-page[b-fi3mpuu2pf] {
    padding-bottom: 2rem;
}

.proposal-card-heading[b-fi3mpuu2pf],
.proposal-actions[b-fi3mpuu2pf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.proposal-actions[b-fi3mpuu2pf] {
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-top: 1.25rem;
}

.proposal-card-heading[b-fi3mpuu2pf] {
    align-items: flex-start;
}

.proposal-card-title[b-fi3mpuu2pf] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.proposal-card-title h3[b-fi3mpuu2pf] {
    margin-bottom: 0 !important;
}

.proposal-list[b-fi3mpuu2pf] {
    display: grid;
    gap: 1rem;
}

.proposal-card[b-fi3mpuu2pf] {
    padding: 1rem;
    border: 1px solid var(--surface-border);
    border-radius: 0.75rem;
}

.proposal-data-grid[b-fi3mpuu2pf] {
    display: grid;
    grid-template-columns: minmax(9rem, auto) minmax(0, 1fr);
    gap: 0.35rem 1rem;
    margin-top: 0.75rem;
}

.proposal-data-grid dd[b-fi3mpuu2pf] {
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.proposal-organisation-link[b-fi3mpuu2pf] {
    color: inherit;
}

.proposal-decision-reason[b-fi3mpuu2pf] {
    padding: 0.75rem;
    border: 1px dashed var(--surface-border);
    border-radius: 0.75rem;
    overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
    .proposal-card-heading[b-fi3mpuu2pf] {
        align-items: stretch;
        flex-direction: column;
    }

    .proposal-actions .btn[b-fi3mpuu2pf] {
        min-height: 44px;
        width: 100%;
    }

    .proposal-data-grid[b-fi3mpuu2pf] {
        grid-template-columns: minmax(0, 1fr);
    }

    .proposal-data-grid dt:not(:first-child)[b-fi3mpuu2pf] {
        margin-top: 0.5rem;
    }
}
/* /Shared/Components/Buttons/LinkButton.razor.rz.scp.css */
.link-button[b-4x7k5dgf0n] {
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--text-muted);
    font: inherit;
    line-height: inherit;
    text-decoration: none;
}

.link-button:not(:disabled)[b-4x7k5dgf0n] {
    cursor: pointer;
}

.link-button:disabled[b-4x7k5dgf0n] {
    opacity: 0.65;
}

.link-button:hover:not(:disabled)[b-4x7k5dgf0n],
.link-button:focus-visible:not(:disabled)[b-4x7k5dgf0n] {
    color: var(--primary-solid);
}

.link-button-icon-only[b-4x7k5dgf0n] {
    padding: 0.25rem;
    line-height: 1;
}

.link-button-with-label[b-4x7k5dgf0n] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    padding: 0.2rem 0.35rem;
    border-radius: 0.55rem;
    font-size: 0.75rem;
    line-height: 1;
    text-align: center;
}

.link-button-with-label .link-button-icon[b-4x7k5dgf0n] {
    font-size: 1rem !important;
    line-height: 1;
}

.link-button-with-label .link-button-text[b-4x7k5dgf0n] {
    position: relative;
    top: 2px;
    line-height: 1;
}
/* /Shared/Components/Cards/Card.razor.rz.scp.css */
.card-component-image[b-9ot7u3qdwi] {
    height: 200px;
    object-fit: cover;
}

.card-component-placeholder[b-9ot7u3qdwi] {
    height: 200px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.card-component-icon[b-9ot7u3qdwi] {
    font-size: 5.5rem;
    color: #fff;
    text-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

.card-youth-bg[b-9ot7u3qdwi] {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.95));
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.card-youth-bg:hover[b-9ot7u3qdwi] {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 18px 40px rgba(99, 102, 241, 0.12);
}

.badge-youth[b-9ot7u3qdwi] {
    font-weight: 700;
    padding: 0.35rem 0.6rem;
    border-radius: 0.75rem;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

@media (max-width: 576px) {
    .card-component-image[b-9ot7u3qdwi],
    .card-component-placeholder[b-9ot7u3qdwi] {
        height: 160px;
    }

    .card-component-icon[b-9ot7u3qdwi] {
        font-size: 4.25rem;
    }
}

@media (min-width: 768px) {
    .card-component-image[b-9ot7u3qdwi],
    .card-component-placeholder[b-9ot7u3qdwi] {
        height: 200px;
    }
}

.btn-youth:focus[b-9ot7u3qdwi] {
    outline: 3px solid rgba(255, 140, 66, 0.18);
    outline-offset: 2px;
}

.card-state-done[b-9ot7u3qdwi] {
    border: 3px solid #198754 !important;
    background: linear-gradient(135deg, rgba(25, 135, 84, 0.05), rgba(25, 135, 84, 0.1));
}

.card-state-done:hover[b-9ot7u3qdwi] {
    box-shadow: 0 18px 40px rgba(25, 135, 84, 0.2);
}

.card-state-active[b-9ot7u3qdwi] {
    border: 3px solid #0d6efd !important;
    background: linear-gradient(135deg, rgba(13, 110, 253, 0.05), rgba(13, 110, 253, 0.1));
    animation: pulse-border-b-9ot7u3qdwi 2s infinite;
}

.card-state-active:hover[b-9ot7u3qdwi] {
    box-shadow: 0 18px 40px rgba(13, 110, 253, 0.25);
}

.card-state-locked[b-9ot7u3qdwi] {
    border: 3px solid #6c757d !important;
    background: linear-gradient(135deg, rgba(108, 117, 125, 0.05), rgba(108, 117, 125, 0.1));
    opacity: 0.7;
}

.card-state-locked:hover[b-9ot7u3qdwi] {
    transform: none;
    box-shadow: 0 8px 20px rgba(108, 117, 125, 0.15);
}

@keyframes pulse-border-b-9ot7u3qdwi {
    0%, 100% {
        border-color: #0d6efd;
        box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.4);
    }
    50% {
        border-color: #0a58ca;
        box-shadow: 0 0 0 8px rgba(13, 110, 253, 0);
    }
}

/* /Shared/Components/Cards/PageContainer.razor.rz.scp.css */
.page-container[b-h19pyvyfjt] {
    width: min(100%, 68rem);
    margin: 0 auto;
}

.page-container-wide[b-h19pyvyfjt] {
    width: 100%;
    max-width: none;
}
/* /Shared/Components/Cards/PanelContainer.razor.rz.scp.css */
.panel-container[b-e71vv2rfst] {
    border-radius: 1rem;
    overflow: hidden;
}

.panel-container > .card-body[b-e71vv2rfst] {
    padding: 1.25rem;
}

.panel-container-separator[b-e71vv2rfst] {
    margin: 1rem 0;
}
/* /Shared/Components/Cards/PanelHeading.razor.rz.scp.css */
.panel-heading[b-fba3l1vwet] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
}

.panel-heading-title-group[b-fba3l1vwet] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-width: 0;
}

.panel-heading-action-control[b-fba3l1vwet] {
    position: relative;
    display: inline-flex;
}

.panel-heading-action-button[b-fba3l1vwet] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--primary-solid);
    font-size: 1.35rem;
    line-height: 1;
}

.panel-heading-action-button:hover[b-fba3l1vwet],
.panel-heading-action-button:focus-visible[b-fba3l1vwet] {
    color: var(--primary-solid);
}

.panel-heading-action-button:focus-visible[b-fba3l1vwet] {
    outline: 2px solid var(--primary-solid);
    outline-offset: 3px;
    border-radius: 0.25rem;
}

.panel-heading-action-tooltip[b-fba3l1vwet] {
    position: absolute;
    z-index: 1;
    top: calc(100% + 0.5rem);
    left: 50%;
    width: max-content;
    max-width: 14rem;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--bs-secondary);
    border-radius: 0.5rem;
    background: var(--surface-bg);
    color: var(--body-color);
    font-size: 0.8rem;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -0.25rem);
    transition: opacity 150ms ease, transform 150ms ease;
}

.panel-heading-action-control:hover .panel-heading-action-tooltip[b-fba3l1vwet],
.panel-heading-action-button:focus-visible + .panel-heading-action-tooltip[b-fba3l1vwet] {
    opacity: 1;
    transform: translate(-50%, 0);
}
/* /Shared/Components/Cards/SaveBtn.razor.rz.scp.css */
.btn-youth[b-9tcb1bfz64] {
    --bs-btn-padding-y: 0.6rem;
    --bs-btn-padding-x: 1rem;
    border-radius: 2rem;
    font-weight: 700;
    color: #1f1f1f;
    background: linear-gradient(90deg, #ffd166 0%, #ff8c42 100%);
    border: none;
    box-shadow: 0 8px 24px rgba(255, 140, 66, 0.18);
    transition: transform 150ms ease, box-shadow 150ms ease, filter 150ms;
}

.btn-youth:hover:not(:disabled)[b-9tcb1bfz64] {
    transform: translateY(-3px);
    filter: brightness(0.98);
    box-shadow: 0 12px 30px rgba(255, 140, 66, 0.2);
}

.btn-youth:disabled[b-9tcb1bfz64] {
    opacity: 0.6;
    transform: none;
    box-shadow: none;
}
/* /Shared/Components/Cards/TileGrid.razor.rz.scp.css */
.tile-grid[b-2zp12dy4tu] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--tile-grid-min, 14rem)), 1fr));
    gap: 1rem;
}

@media (max-width: 320px) {
    .tile-grid[b-2zp12dy4tu]  .btn {
        min-height: 44px;
        width: 100%;
    }
}
/* /Shared/Components/Chips/RoleChip.razor.rz.scp.css */
.chip-tooltip-control[b-fl77pjjut7] {
    position: relative;
    display: inline-flex;
}

.chip-tooltip[b-fl77pjjut7] {
    position: absolute;
    z-index: 20;
    top: calc(100% + 0.5rem);
    left: 0;
    width: max-content;
    max-width: 14rem;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--bs-secondary);
    border-radius: 0.5rem;
    background: var(--surface-bg);
    color: var(--body-color);
    font-size: 0.8rem;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-0.25rem);
    transition: opacity 150ms ease, transform 150ms ease;
}

.chip-tooltip-control:hover .chip-tooltip[b-fl77pjjut7],
.chip-tooltip-control:focus-within .chip-tooltip[b-fl77pjjut7] {
    opacity: 1;
    transform: translateY(0);
}
/* /Shared/Components/Chips/TileRemoveButton.razor.rz.scp.css */
.chip-tooltip-control[b-4ozmn69wbh] {
    position: relative;
    display: inline-flex;
}

.chip-tooltip[b-4ozmn69wbh] {
    position: absolute;
    z-index: 20;
    top: calc(100% + 0.5rem);
    left: auto;
    right: 0;
    width: max-content;
    max-width: 14rem;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--bs-secondary);
    border-radius: 0.5rem;
    background: var(--surface-bg);
    color: var(--body-color);
    font-size: 0.8rem;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-0.25rem);
    transition: opacity 150ms ease, transform 150ms ease;
}

.chip-tooltip-control:hover .chip-tooltip[b-4ozmn69wbh],
.chip-tooltip-control:focus-within .chip-tooltip[b-4ozmn69wbh] {
    opacity: 1;
    transform: translateY(0);
}

.tile-remove-button[b-4ozmn69wbh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    border-radius: 0.25rem;
    background: transparent;
    color: var(--bs-secondary-color);
}

.tile-remove-button:not(:disabled):hover[b-4ozmn69wbh] {
    color: var(--bs-danger);
}

.tile-remove-button:focus-visible[b-4ozmn69wbh] {
    outline: 2px solid var(--bs-danger);
    outline-offset: 2px;
}

.tile-remove-button:disabled[b-4ozmn69wbh] {
    opacity: 0.5;
    cursor: not-allowed;
}
/* /Shared/Components/InlineNotice.razor.rz.scp.css */
.inline-notice[b-mtpnhd9lyz] {
    padding: 1rem;
    border: 1px dashed var(--surface-border);
    border-radius: 0.75rem;
    background: transparent;
    color: var(--body-color);
}

.inline-notice > :last-child[b-mtpnhd9lyz] {
    margin-bottom: 0;
}

.inline-notice-info[b-mtpnhd9lyz] {
    border-color: rgba(var(--bs-info-rgb), 0.5);
    color: var(--bs-info-text-emphasis);
}

.inline-notice-success[b-mtpnhd9lyz] {
    border-color: rgba(var(--bs-success-rgb), 0.5);
    color: var(--bs-success-text-emphasis);
}

.inline-notice-warning[b-mtpnhd9lyz] {
    border-color: rgba(var(--bs-warning-rgb), 0.5);
    color: var(--bs-warning-text-emphasis);
}

.inline-notice-danger[b-mtpnhd9lyz] {
    border-color: rgba(var(--bs-danger-rgb), 0.5);
    color: var(--bs-danger-text-emphasis);
}
/* /Shared/Components/Modal.razor.rz.scp.css */
.app-modal[b-4qpfix0jq4] {
    overflow-y: auto;
}

.app-modal-heading[b-4qpfix0jq4] {
    width: 100%;
}

.app-modal[b-4qpfix0jq4]  .app-modal-content {
    max-height: calc(100vh - 2rem);
}

.app-modal[b-4qpfix0jq4]  .app-modal-content > .card-body {
    min-height: 0;
    overflow-y: auto;
}

.app-modal-backdrop[b-4qpfix0jq4] {
    z-index: 1040;
}
/* /Shared/Components/Pagination.razor.rz.scp.css */
.pagination[b-0poliehafo] {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

.pagination-page-controls[b-0poliehafo] {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.pagination-page-ellipsis[b-0poliehafo] {
    padding: 0;
    color: var(--text-muted);
    background: transparent;
    border: 0;
    font: inherit;
    cursor: pointer;
}

.pagination-page-ellipsis:hover[b-0poliehafo],
.pagination-page-ellipsis:focus-visible[b-0poliehafo] {
    color: var(--text-muted);
}

.pagination-page-input[b-0poliehafo] {
    width: 3.5rem;
    padding: 0.2rem 0.35rem;
    color: var(--body-color);
    background: var(--surface-bg);
    border: 1px solid var(--surface-border);
    border-radius: 0.25rem;
    text-align: center;
}

[b-0poliehafo] .pagination-page-active {
    color: var(--body-color);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}
/* /Shared/Components/Spinner.razor.rz.scp.css */
.app-spinner[b-bd33gjv74u] {
    display: inline-flex;
    width: var(--app-spinner-size);
    height: var(--app-spinner-size);
}

.app-spinner[b-bd33gjv74u]  .app-loader-ring {
    position: static;
    width: 100%;
    height: 100%;
    margin: 0;
}
/* /Shared/Components/StatusLabel.razor.rz.scp.css */
.status-label[b-c1k789a02h] {
    display: inline-flex;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    background: var(--bs-secondary-bg);
    font-size: 0.8rem;
}

.status-label-neutral[b-c1k789a02h] {
    background: rgba(var(--bs-secondary-rgb), 0.3);
    color: var(--bs-secondary-text-emphasis);
}

.status-label-success[b-c1k789a02h] {
    background: rgba(var(--bs-success-rgb), 0.3);
    color: var(--bs-success-text-emphasis);
}

.status-label-danger[b-c1k789a02h] {
    background: rgba(var(--bs-danger-rgb), 0.3);
    color: var(--bs-danger-text-emphasis);
}

.status-label-warning[b-c1k789a02h] {
    background: rgba(var(--bs-warning-rgb), 0.3);
    color: var(--bs-warning-text-emphasis);
}

.status-label-info[b-c1k789a02h] {
    background: rgba(var(--bs-info-rgb), 0.3);
    color: var(--bs-info-text-emphasis);
}
/* /Shared/Components/Tabs/SideTabs.razor.rz.scp.css */
.side-tabs[b-9ihlgb7jlv] {
    display: grid;
    grid-template-columns: minmax(11rem, 14rem) minmax(0, 1fr);
    gap: 1rem;
}

.side-tabs-sidebar[b-9ihlgb7jlv] {
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.side-tabs-navigation[b-9ihlgb7jlv] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.5rem;
    border: 1px solid var(--surface-border);
    border-radius: 1rem;
    background: var(--surface-bg);
}

.side-tabs-item[b-9ihlgb7jlv] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
    padding: 0.55rem 0.65rem;
    border: 1px solid transparent;
    border-radius: 1rem;
    background: transparent;
    color: var(--body-color);
    font-size: 0.875rem;
    text-align: left;
    transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
}

.side-tabs-item:hover[b-9ihlgb7jlv],
.side-tabs-item:focus-visible[b-9ihlgb7jlv],
.side-tabs-item.side-tabs-item-active[b-9ihlgb7jlv] {
    border-color: var(--surface-border);
    background: var(--surface-bg-alt);
}

.side-tabs-item.side-tabs-item-active[b-9ihlgb7jlv] {
    color: var(--body-color);
}

.side-tabs-leading-item[b-9ihlgb7jlv] {
    color: var(--text-muted);
}

.side-tabs-item:focus-visible[b-9ihlgb7jlv] {
    outline: 2px solid var(--primary-solid);
    outline-offset: 2px;
}

@media (max-width: 767.98px) {
    .side-tabs[b-9ihlgb7jlv] {
        grid-template-columns: 1fr;
    }

    .side-tabs-navigation[b-9ihlgb7jlv] {
        flex-direction: row;
        overflow-x: auto;
    }

    .side-tabs-item[b-9ihlgb7jlv] {
        flex: 0 0 auto;
        width: auto;
    }
}
/* /SportFacility/Bookings/Components/BookingModal.razor.rz.scp.css */
.booking-weekdays-grid[b-azzqtl7n42] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem 1rem;
}

.booking-weekdays-grid .form-check[b-azzqtl7n42] {
    margin-bottom: 0;
}

@media (min-width: 576px) {
    .booking-weekdays-grid[b-azzqtl7n42] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
/* /SportFacility/Bookings/Components/ManagerBookingModal.razor.rz.scp.css */
.booking-modal-context dt[b-m4npb7c04k] {
    font-weight: 400;
    line-height: 1.2;
}

.booking-modal-context dd[b-m4npb7c04k] {
    margin: 0 0 0.5rem;
    line-height: 1.2;
}

.booking-modal-context dd:last-of-type[b-m4npb7c04k] {
    margin-bottom: 0;
}

.booking-parties[b-m4npb7c04k]  .booking-party-card {
    overflow: hidden;
    border: 1px solid var(--surface-border);
    border-radius: 1rem;
    background: transparent;
    color: var(--body-color);
    margin-top: 0.75rem;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.booking-parties[b-m4npb7c04k]  .booking-party-card:hover {
    border-color: var(--primary-solid);
    transform: translateY(-2px);
    box-shadow: 0 0.75rem 1.75rem rgba(var(--primary-solid-rgb), 0.14) !important;
}

.booking-parties[b-m4npb7c04k]  .booking-party-toggle {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2rem;
    align-items: center;
    width: 100%;
    min-height: 4rem;
    padding: 1rem 1.25rem;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
}

.booking-parties[b-m4npb7c04k]  .booking-party-toggle:focus-visible {
    outline: 3px solid rgba(var(--primary-solid-rgb), 0.4);
    outline-offset: -4px;
    border-radius: 1rem;
}

.booking-parties[b-m4npb7c04k]  .booking-party-toggle > .bi {
    justify-self: end;
    color: var(--primary-solid);
}

.booking-parties[b-m4npb7c04k]  .booking-party-role {
    display: block;
    color: var(--text-muted);
    font-size: 0.8rem;
    margin-bottom: 0.25rem;
}

.booking-parties[b-m4npb7c04k]  .booking-party-details {
    padding: 1.25rem;
    border-top: 1px solid var(--surface-border);
    background: var(--surface-bg-alt);
}

.booking-parties[b-m4npb7c04k]  .booking-party-contact {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.5rem 1rem;
    overflow-wrap: anywhere;
}

.booking-parties[b-m4npb7c04k]  .booking-party-contact dd {
    margin: 0;
}
/* /SportFacility/Calendar/FacilityCalendar.razor.rz.scp.css */
.facility-calendar-panel[b-ck4zaa7djc] {
    width: min(100%, 88rem);
    margin: 0 auto;
}

.facility-calendar-layout[b-ck4zaa7djc] {
    display: grid;
    grid-template-columns: minmax(15rem, 18rem) minmax(0, 1fr);
    gap: 1rem;
}

.facility-calendar-navigation[b-ck4zaa7djc] {
    align-self: start;
}

.facility-calendar-loading-container[b-ck4zaa7djc] {
    min-height: 12rem;
}

.facility-calendar-grid-container[b-ck4zaa7djc] {
    min-height: 24rem;
}

.facility-calendar-back-link[b-ck4zaa7djc] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid transparent;
    border-radius: 1rem;
    color: var(--text-muted);
    font-size: 0.875rem;
    text-decoration: none;
    transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
}

.facility-calendar-back-link:hover[b-ck4zaa7djc],
.facility-calendar-back-link:focus-visible[b-ck4zaa7djc] {
    border-color: var(--surface-border);
    background: var(--surface-bg-alt);
}

.facility-calendar-back-link:focus-visible[b-ck4zaa7djc] {
    outline: 2px solid var(--primary-solid);
    outline-offset: 2px;
}

.facility-calendar-heading[b-ck4zaa7djc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.facility-calendar-heading-title[b-ck4zaa7djc] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.facility-calendar-legend[b-ck4zaa7djc] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.25rem 1.25rem;
    margin-top: 0.5rem;
}

.facility-calendar-legend-row[b-ck4zaa7djc] {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr) 4rem;
    align-items: start;
    width: 100%;
}

.facility-calendar-legend-label[b-ck4zaa7djc] {
    font-weight: 600;
    font-size: 0.8rem;
    color: var(--text-muted);
    text-align: left;
}

.facility-calendar-resource-legend[b-ck4zaa7djc] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem 0.75rem;
    margin-top: 0;
    color: var(--text-muted);
    font-size: 0.8rem;
}

.facility-calendar-resource-legend li[b-ck4zaa7djc] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.facility-calendar-resource-legend .facility-resource-swatch[b-ck4zaa7djc] {
    flex-shrink: 0;
}

.facility-calendar-resource-legend .resource-legend-active[b-ck4zaa7djc] {
    color: var(--body-color);
}

.facility-calendar-resource-legend .resource-legend-muted[b-ck4zaa7djc] {
    color: var(--text-muted);
    opacity: 0.55;
}

.facility-calendar-resource-legend .resource-legend-muted .facility-resource-swatch[b-ck4zaa7djc] {
    filter: grayscale(1);
}

.facility-calendar-booking-control[b-ck4zaa7djc] {
    position: relative;
    display: inline-flex;
}

.facility-calendar-booking-button[b-ck4zaa7djc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--primary-solid);
    font-size: 1.35rem;
    line-height: 1;
}

.facility-calendar-booking-button:hover[b-ck4zaa7djc],
.facility-calendar-booking-button:focus-visible[b-ck4zaa7djc] {
    color: var(--primary-solid);
}

.facility-calendar-booking-button:focus-visible[b-ck4zaa7djc] {
    outline: 2px solid var(--primary-solid);
    outline-offset: 3px;
    border-radius: 0.25rem;
}

.facility-calendar-booking-tooltip[b-ck4zaa7djc] {
    position: absolute;
    z-index: 2;
    top: calc(100% + 0.5rem);
    right: 0;
    width: max-content;
    max-width: 14rem;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--surface-border);
    border-radius: 0.5rem;
    background: var(--surface-bg);
    color: var(--body-color);
    font-size: 0.8rem;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-0.25rem);
    transition: opacity 150ms ease, transform 150ms ease;
}

.facility-calendar-booking-control:hover .facility-calendar-booking-tooltip[b-ck4zaa7djc],
.facility-calendar-booking-button:focus-visible + .facility-calendar-booking-tooltip[b-ck4zaa7djc] {
    opacity: 1;
    transform: translateY(0);
}

.facility-calendar-navigation .facility-calendar-navigation-panel > .card-body[b-ck4zaa7djc] {
    padding: 0.85rem;
}

.facility-calendar-hours-panel > .card-body[b-ck4zaa7djc] {
    padding: 0.85rem;
}

.facility-calendar-opening-hours summary[b-ck4zaa7djc] {
    cursor: pointer;
}

.facility-calendar-opening-hours ul[b-ck4zaa7djc] {
    display: grid;
    gap: 0.25rem;
}

.facility-calendar-opening-hours li[b-ck4zaa7djc] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
}

.facility-calendar-opening-hours li span:last-child[b-ck4zaa7djc] {
    text-align: right;
}

.facility-calendar[b-ck4zaa7djc] {
    min-height: 42rem;
}

.facility-calendar-mini :global(.fc)[b-ck4zaa7djc] {
    --fc-border-color: transparent;
    --fc-button-bg-color: transparent;
    --fc-button-border-color: transparent;
    --fc-button-hover-bg-color: var(--surface-bg-alt);
    --fc-button-hover-border-color: transparent;
    --fc-button-active-bg-color: var(--surface-bg-alt);
    --fc-button-active-border-color: transparent;
    --fc-today-bg-color: transparent;
    color: var(--body-color);
    font-size: 0.72rem;
}

.facility-calendar-mini :global(.fc-toolbar)[b-ck4zaa7djc] {
    align-items: center;
    margin-bottom: 0.6rem;
}

.facility-calendar-mini :global(.fc-toolbar-title)[b-ck4zaa7djc] {
    font-size: 0.8rem;
    font-weight: 650;
    text-transform: capitalize;
}

.facility-calendar-mini :global(.fc-button)[b-ck4zaa7djc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    padding: 0;
    border-radius: 50%;
    color: var(--text-muted);
    font-size: 0.7rem;
    box-shadow: none;
}

.facility-calendar-mini :global(.fc-button:focus-visible)[b-ck4zaa7djc] {
    box-shadow: 0 0 0 0.15rem rgba(var(--primary-solid-rgb), 0.25);
}

.facility-calendar-mini :global(.fc-scrollgrid)[b-ck4zaa7djc],
.facility-calendar-mini :global(.fc-scrollgrid-section > *)[b-ck4zaa7djc],
.facility-calendar-mini :global(.fc-scrollgrid-section table)[b-ck4zaa7djc],
.facility-calendar-mini :global(.fc-theme-standard td)[b-ck4zaa7djc],
.facility-calendar-mini :global(.fc-theme-standard th)[b-ck4zaa7djc] {
    border: 0;
}

.facility-calendar-mini :global(.fc-col-header-cell)[b-ck4zaa7djc] {
    padding-bottom: 0.2rem;
}

.facility-calendar-mini :global(.fc-col-header-cell-cushion)[b-ck4zaa7djc] {
    color: var(--text-muted);
    font-size: 0.6rem;
    font-weight: 650;
    letter-spacing: 0.03em;
    text-decoration: none;
}

.facility-calendar-mini :global(.fc-daygrid-day-number)[b-ck4zaa7djc] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    margin: 0.05rem auto;
    border-radius: 50%;
    color: var(--body-color);
    font-size: 0.7rem;
    text-decoration: none;
    transition: background-color 150ms ease, color 150ms ease;
}

.facility-calendar-mini :global(.fc-daygrid-day:hover .fc-daygrid-day-number)[b-ck4zaa7djc] {
    background: var(--surface-bg-alt);
}

.facility-calendar-mini :global(.fc-day-today)[b-ck4zaa7djc] {
    background: transparent;
}

.facility-calendar-mini :global(.fc-day-today .fc-daygrid-day-number)[b-ck4zaa7djc] {
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
    font-weight: 700;
}

.facility-calendar-mini :global(.facility-calendar-mini-selected .fc-daygrid-day-number)[b-ck4zaa7djc] {
    background: var(--primary-solid);
    color: var(--bs-white);
    font-weight: 700;
}

.facility-calendar-mini :global(.fc-daygrid-day-frame)[b-ck4zaa7djc] {
    min-height: 1.75rem;
}

.facility-calendar :global(.fc)[b-ck4zaa7djc] {
    --fc-border-color: var(--bs-border-color);
    --fc-page-bg-color: var(--bs-body-bg);
    --fc-neutral-bg-color: var(--bs-tertiary-bg);
    --fc-today-bg-color: rgba(var(--bs-primary-rgb), 0.08);
}

.facility-calendar :global(.fc-toolbar-title)[b-ck4zaa7djc] {
    font-size: 1.25rem;
    font-weight: 600;
}

.facility-calendar :global(.fc-button)[b-ck4zaa7djc] {
    text-transform: none;
}

@media (max-width: 767.98px) {
    .facility-calendar-layout[b-ck4zaa7djc] {
        grid-template-columns: 1fr;
    }

    .facility-calendar[b-ck4zaa7djc] {
        min-height: 36rem;
        overflow-x: auto;
    }

    .facility-calendar :global(.fc)[b-ck4zaa7djc] {
        min-width: 44rem;
    }

    .facility-calendar :global(.fc-toolbar)[b-ck4zaa7djc] {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.75rem;
    }
}

.facility-resource-swatch[b-ck4zaa7djc] {
    display: inline-block;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 0.2rem;
    vertical-align: -1px;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

.facility-resource-picker[b-ck4zaa7djc] {
    position: relative;
}

.facility-resource-picker-option[b-ck4zaa7djc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.5rem;
    text-align: left;
    color: var(--body-color);
    background: var(--surface-bg);
    border: 0;
    border-radius: 0.35rem;
    font-size: 0.85rem;
}

.facility-resource-picker-trigger[b-ck4zaa7djc] {
    background-image: var(--select-arrow);
    text-align: left;
    white-space: normal;
}

.facility-resource-picker-trigger > span[b-ck4zaa7djc],
.facility-resource-picker-option > span[b-ck4zaa7djc] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.facility-resource-picker-option .facility-resource-swatch[b-ck4zaa7djc] {
    flex-shrink: 0;
}

.facility-resource-picker-option:hover[b-ck4zaa7djc],
.facility-resource-picker-option.selected[b-ck4zaa7djc] {
    background: var(--surface-bg-alt);
}

.facility-resource-picker-dismiss[b-ck4zaa7djc] {
    position: fixed;
    inset: 0;
    z-index: 19;
}

.facility-resource-picker-options[b-ck4zaa7djc] {
    position: absolute;
    top: calc(100% + 0.35rem);
    left: 0;
    width: 100%;
    padding: 0.6rem;
    max-height: 24rem;
    overflow-y: auto;
    z-index: 20;
    border: 1px solid var(--surface-border);
    border-radius: var(--bs-border-radius);
    background: var(--surface-bg);
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
}

.facility-resource-picker-row[b-ck4zaa7djc] {
    display: flex;
    align-items: center;
}

.facility-resource-branch-toggle[b-ck4zaa7djc],
.facility-resource-branch-spacer[b-ck4zaa7djc] {
    flex: 0 0 1.5rem;
    width: 1.5rem;
}

.facility-resource-branch-toggle[b-ck4zaa7djc] {
    padding: 0.35rem 0;
    border: 0;
    background: transparent;
    color: var(--primary-solid);
}

.facility-calendar-navigation[b-ck4zaa7djc]  .facility-calendar-resource-panel {
    overflow: visible;
    z-index: 21;
}

.facility-resource-picker-option .bi-check-lg[b-ck4zaa7djc] {
    color: var(--primary-solid);
}
