/* /Components/ActionsMenu/ActionsMenu.razor.rz.scp.css */
/* White split button on the dark header band: no overflow hidden, it would clip the menu, so each side rounds its own corners. */
.actions-menu[b-qzbqar8r7n] {
    display: inline-flex;
    align-items: stretch;
    height: 2.5rem;
    border-radius: 0.5rem;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.actions-menu-primary[b-qzbqar8r7n],
.actions-menu-toggle[b-qzbqar8r7n] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: 0;
    background: #fff;
    color: #344767;
    font-size: 0.84375rem;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease;
}

.actions-menu-primary:hover[b-qzbqar8r7n],
.actions-menu-primary:focus-visible[b-qzbqar8r7n],
.actions-menu-toggle:hover[b-qzbqar8r7n],
.actions-menu-toggle:focus-visible[b-qzbqar8r7n],
.actions-menu-toggle[aria-expanded="true"][b-qzbqar8r7n] {
    background: #eef0fd;
    color: #344767;
}

.actions-menu-primary[b-qzbqar8r7n] {
    padding: 0 1rem 0 1.125rem;
    border-radius: 0.5rem 0 0 0.5rem;
}

.actions-menu-primary i[b-qzbqar8r7n] {
    color: #5e72e4;
}

.actions-menu-divider[b-qzbqar8r7n] {
    width: 1px;
    margin: 0.5rem 0;
    background: #dfe3ea;
}

.actions-menu-toggle[b-qzbqar8r7n] {
    justify-content: center;
    width: 2.5rem;
    padding: 0;
    border-radius: 0 0.5rem 0.5rem 0;
}

.actions-menu-toggle-labelled[b-qzbqar8r7n] {
    width: auto;
    padding: 0 1.125rem;
}

.actions-menu-primary.actions-menu-alone[b-qzbqar8r7n],
.actions-menu-toggle.actions-menu-alone[b-qzbqar8r7n] {
    border-radius: 0.5rem;
}

/* Fixed box so swapping the chevron for the busy spinner does not resize the button. */
.actions-menu-indicator[b-qzbqar8r7n] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 0.75rem;
    font-size: 0.6875rem;
}

.actions-menu-spinner[b-qzbqar8r7n] {
    width: 0.75rem;
    height: 0.75rem;
    border-width: 0.15em;
}

/* Popper places the menu (bottom-end, 8px below). On desktop Argon's dropdown animation and the 40px !important margin of
   custom.css would override that position, and Argon's arrow would point at nothing in a right-aligned menu. */
.actions-menu-list[b-qzbqar8r7n],
.actions-menu-list.show[b-qzbqar8r7n] {
    animation: none;
    transition: opacity 0.15s ease;
}

.actions-menu > .actions-menu-list[b-qzbqar8r7n] {
    width: 15rem;
    margin-top: 0 !important;
    padding: 0.5rem;
    border-radius: 0.625rem;
    box-shadow: 0 12px 32px rgba(20, 30, 60, 0.2);
}

.actions-menu-list[b-qzbqar8r7n]::before {
    display: none;
}

/* Same box for every item icon, so the labels line up whatever the glyph width (a gear is wider than a dollar sign). */
.actions-menu-list[b-qzbqar8r7n]  .dropdown-item > i {
    width: 1.25em;
    text-align: center;
}

.actions-menu-title[b-qzbqar8r7n] {
    padding: 0.375rem 0.75rem 0.25rem;
    font-size: 0.71875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #8392ab;
}
/* /Components/Loading/Loading.razor.rz.scp.css */
.loading-spinner-container[b-dvhvgjc9ok] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;    
    gap: 1rem;
    animation: slideInUp-b-dvhvgjc9ok 0.3s ease-out;
}

.loading-text[b-dvhvgjc9ok] {
    color: white;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-align: center;
    animation: fadeIn-b-dvhvgjc9ok 0.5s ease-in-out;
}

/* Keyframes for animations */
@keyframes fadeIn-b-dvhvgjc9ok {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInUp-b-dvhvgjc9ok {
    from {
        opacity: 0;
        transform: translate3d(0, 20px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Custom sizes for spinners */
.spinner-border-lg[b-dvhvgjc9ok] {
    width: 3rem;
    height: 3rem;
    border-width: 0.3em;
}

.spinner-border-xl[b-dvhvgjc9ok] {
    width: 4rem;
    height: 4rem;
    border-width: 0.4em;
}

/* Styles for different types of display */
.loading-spinner-container.loading-fullscreen[b-dvhvgjc9ok] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 9999;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.loading-spinner-container.loading-overlay[b-dvhvgjc9ok] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.5);
    z-index: 100;
    backdrop-filter: blur(0.5px);
    -webkit-backdrop-filter: blur(0.5px);
    border-radius: 16px;
}
/* /Components/ProducerPicker/CreateProducerModal.razor.rz.scp.css */
.producer-modal-backdrop[b-tki5ttaapj] {
    position: fixed;
    inset: 0;
    z-index: 1055;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background-color: rgba(0, 0, 0, 0.5);
}

.producer-modal[b-tki5ttaapj] {
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
}

.producer-modal-optional[b-tki5ttaapj] {
    font-weight: 400;
    color: #8392ab;
}

.producer-modal-duplicate[b-tki5ttaapj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.5rem;
    padding: 0.5rem 0.6rem;
    border: 1px solid #fbd0d6;
    border-radius: 0.5rem;
    background-color: #fff5f6;
    font-size: 0.8rem;
    color: #344767;
}

.producer-modal-use-existing[b-tki5ttaapj] {
    flex-shrink: 0;
    min-width: auto;
}

.producer-modal-footer[b-tki5ttaapj] {
    border-top: 1px solid #dee2e6;
}
/* /Components/ProducerPicker/ProducerPicker.razor.rz.scp.css */
.producer-picker[b-85erq42io5] {
    position: relative;
}

.producer-picker-field[b-85erq42io5] {
    position: relative;
}

.producer-picker-input[b-85erq42io5] {
    padding-right: 2rem;
}

.producer-picker-clear[b-85erq42io5] {
    border: none;
    background: none;
    padding: 0;
    line-height: 1;
    color: #8392ab;
    cursor: pointer;
    font-size: 0.8rem;
}

.producer-picker-clear:hover[b-85erq42io5] {
    color: #344767;
}

.producer-picker-clear-search[b-85erq42io5] {
    position: absolute;
    top: 50%;
    right: 0.6rem;
    transform: translateY(-50%);
}

.producer-picker-dropdown[b-85erq42io5] {
    position: absolute;
    top: calc(100% + 0.25rem);
    left: 0;
    right: 0;
    z-index: 1000;
    max-height: 20rem;
    overflow-y: auto;
    background-color: #fff;
    border: 1px solid #d2d6da;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.producer-picker-option[b-85erq42io5] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.4rem 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
    color: #344767;
}

.producer-picker-option:hover[b-85erq42io5],
.producer-picker-option.highlighted[b-85erq42io5] {
    background-color: #f0f2f5;
}

.producer-picker-option-name[b-85erq42io5] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.producer-picker-option-name mark[b-85erq42io5] {
    padding: 0 1px;
    border-radius: 2px;
    background-color: #fff1b8;
    color: inherit;
}

.producer-picker-option-cuit[b-85erq42io5] {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: #8392ab;
    font-variant-numeric: tabular-nums;
}

.producer-picker-more[b-85erq42io5] {
    padding: 0.25rem 0.75rem 0.45rem;
    font-size: 0.75rem;
    color: #8392ab;
}

.producer-picker-message[b-85erq42io5] {
    padding: 0.6rem 0.75rem;
    font-size: 0.8rem;
    color: #67748e;
}

.producer-picker-create[b-85erq42io5] {
    align-items: center;
    border-top: 1px solid #e9ecef;
    font-weight: 600;
    color: #5e72e4;
}

.producer-picker-create.highlighted[b-85erq42io5] {
    background-color: #eef0fd;
}

.producer-picker-key[b-85erq42io5] {
    flex-shrink: 0;
    padding: 0 0.3rem;
    border: 1px solid #d2d6da;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 600;
    color: #8392ab;
}

.producer-picker-selected[b-85erq42io5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid #d2d6da;
    border-radius: 0.5rem;
    background-color: #fff;
}

.producer-picker-selected.is-invalid[b-85erq42io5] {
    border-color: #fd5c70;
}

.producer-picker-selected-text[b-85erq42io5] {
    min-width: 0;
}

.producer-picker-selected-name[b-85erq42io5] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #344767;
}

.producer-picker-selected-cuit[b-85erq42io5] {
    display: block;
    font-size: 0.75rem;
    color: #8392ab;
    font-variant-numeric: tabular-nums;
}

.producer-picker-note[b-85erq42io5] {
    margin-top: 0.5rem;
    font-size: 0.75rem;
    color: #67748e;
}
/* /Components/ShowImagePicker/ShowImagePicker.razor.rz.scp.css */
.image-preview-wrapper[b-ogzzpkgkqz] {
    position: relative;
    width: fit-content;
    margin: 0 auto;
}

.image-skeleton[b-ogzzpkgkqz] {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: 0.5rem;
    margin: 0 auto;
    cursor: pointer;
}

.image-preview-container[b-ogzzpkgkqz] {
    width: 100%;
    max-width: 240px;
    aspect-ratio: 4 / 5;
    background-color: #f0f2f5;
    border: 2px dashed #dee2e6;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 0 auto;
}

.image-preview-container.has-image[b-ogzzpkgkqz] {
    border-style: solid;
    border-color: #5e72e4;
}

.image-preview-container img[b-ogzzpkgkqz] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.drop-zone[b-ogzzpkgkqz] {
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.drop-zone:hover[b-ogzzpkgkqz] {
    background-color: #e9ecef;
    border-color: #adb5bd;
}

.btn-remove-image[b-ogzzpkgkqz] {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #f5365c;
    border: 2px solid #fff;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    font-size: 12px;
}

.btn-remove-image:hover[b-ogzzpkgkqz] {
    background-color: #d32f4a;
    transform: scale(1.1);
}
/* /Components/ShowPicker/ShowPicker.razor.rz.scp.css */
.show-picker[b-wz8r0hlq71] {
    position: relative;
    min-width: 320px;
}

.show-picker-field[b-wz8r0hlq71] {
    position: relative;
}

.show-picker-input[b-wz8r0hlq71] {
    padding-right: 2rem;
}

.show-picker-clear[b-wz8r0hlq71] {
    position: absolute;
    top: 50%;
    right: 0.5rem;
    transform: translateY(-50%);
    border: none;
    background: none;
    padding: 0;
    line-height: 1;
    color: #8392ab;
    cursor: pointer;
    font-size: 0.75rem;
}

.show-picker-clear:hover[b-wz8r0hlq71] {
    color: #344767;
}

.show-picker-dropdown[b-wz8r0hlq71] {
    position: absolute;
    top: calc(100% + 0.25rem);
    left: 0;
    right: 0;
    z-index: 1000;
    max-height: 20rem;
    overflow-y: auto;
    background-color: #fff;
    border: 1px solid #d2d6da;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.show-picker-group[b-wz8r0hlq71] {
    padding: 0.5rem 0.75rem 0.25rem;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #8392ab;
}

.show-picker-option[b-wz8r0hlq71] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.4rem 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
    color: #344767;
}

.show-picker-option:hover[b-wz8r0hlq71],
.show-picker-option.highlighted[b-wz8r0hlq71] {
    background-color: #f0f2f5;
}

.show-picker-option-name[b-wz8r0hlq71] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.show-picker-option-date[b-wz8r0hlq71] {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: #8392ab;
}

.show-picker-message[b-wz8r0hlq71] {
    padding: 0.6rem 0.75rem;
    font-size: 0.8rem;
    color: #8392ab;
}
/* /Components/Table/Table.razor.rz.scp.css */
.col-small[b-1lh9q5k564] {
    width: 120px;
}

.haveMorePages[b-1lh9q5k564] {
    border-width: 0px !important;
    pointer-events: none;
}

.loading[b-1lh9q5k564] {
    min-height: 300px;
    padding-left: 24px;
}

.dataTable-top-no-padding-top[b-1lh9q5k564] {
    padding-top: 0px !important;
}

.search-container[b-1lh9q5k564] {
    position: relative;
    width: 100%;
}

.clear-button[b-1lh9q5k564] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    cursor: pointer;
    color: #999;
    font-size: 16px;
    padding: 0;
    display: none;
}

    .clear-button:hover[b-1lh9q5k564] {
        color: #333;
    }

    .clear-button i[b-1lh9q5k564] {
        line-height: 1;
    }

.dataTable-input:not(:placeholder-shown) + .clear-button[b-1lh9q5k564] {
    display: inline-block;
}

.dataTable-top[b-1lh9q5k564] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1rem;    
}

@media (min-width: 769px) {
    .dataTable-top[b-1lh9q5k564] {
        padding-left: 0;
    }
}

.dataTable-dropdown[b-1lh9q5k564] {
    flex-shrink: 0;
    order: 1;
}

.dataTable-search[b-1lh9q5k564] {
    flex-shrink: 0;
    max-width: 300px;
    min-width: 200px;
    order: 2; 
    margin-left: auto;
}

.dataTable-input[b-1lh9q5k564] {
    width: 100%;
    max-width: 100%;
    padding-right: 40px;
}

/* Mobile-specific styles */
@media (max-width: 768px) {
    /* Make the top section completely vertical on mobile */
    .dataTable-top[b-1lh9q5k564] {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    .dataTable-dropdown[b-1lh9q5k564] {
        align-self: flex-start;
    }

        .dataTable-dropdown label[b-1lh9q5k564] {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 14px;
        }

    .dataTable-selector[b-1lh9q5k564] {
        flex-shrink: 0;
    }

    .dataTable-search[b-1lh9q5k564] {
        width: 100%;
        min-width: unset;
        max-width: unset;
        margin-left: 0;
    }

    .search-container[b-1lh9q5k564] {
        width: 100%;
    }

    .dataTable-input[b-1lh9q5k564] {
        width: 100%;
        padding: 8px 40px 8px 12px;
        font-size: 16px;
        border-radius: 4px;
        border: 1px solid #ccc;
    }

    /* The rows become cards through table-mobile-cards (custom.css); the cards need the same side gutter as the
       controls above and below them, or they would touch the edges of the surrounding card. */
    .dataTable-top[b-1lh9q5k564],
    .dataTable-bottom[b-1lh9q5k564],
    .dataTable-container[b-1lh9q5k564] {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .dataTable-sort[b-1lh9q5k564] {
        display: flex;
        order: 3;
        align-items: center;
        gap: 0.5rem;
        font-size: 14px;
    }

    .dataTable-sort-label[b-1lh9q5k564] {
        display: flex;
        flex: 1;
        align-items: center;
        gap: 0.5rem;
        margin: 0;
        font-size: 14px;
    }

        /* Argon only styles the page size selector, through .dataTable-dropdown. */
        .dataTable-sort-label .dataTable-selector[b-1lh9q5k564] {
            flex: 1;
            min-width: 0;
            border: 1px solid #e9ecef;
            border-radius: 4px;
        }

    /* custom.css gives every .btn a 120px minimum, too wide for an icon-only button. */
    .dataTable-sort-direction[b-1lh9q5k564] {
        min-width: 0;
        padding: 0.375rem 0.75rem;
    }

    /* Center the entire pagination section on mobile */
    .dataTable-bottom[b-1lh9q5k564] {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        margin-top: 1rem;
    }

    /* Center the text "Showing x to y of z" */
    .dataTable-info[b-1lh9q5k564] {
        text-align: center;
        margin: 0;
        font-size: 14px;
    }

    /* Center pagination */
    .dataTable-pagination[b-1lh9q5k564] {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .dataTable-pagination-list[b-1lh9q5k564] {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: nowrap;
        gap: 4px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

        .dataTable-pagination-list li[b-1lh9q5k564] {
            flex-shrink: 0;
        }

            .dataTable-pagination-list li a[b-1lh9q5k564] {
                padding: 8px 12px;
                font-size: 14px;
                min-width: 40px;
                text-align: center;
                display: flex;
                align-items: center;
                justify-content: center;
                text-decoration: none;
                border: 1px solid #ddd;
                background: white;
                color: #333;
                border-radius: 4px;
                cursor: pointer;
                transition: all 0.2s ease;
            }

                .dataTable-pagination-list li a:hover[b-1lh9q5k564] {
                    background: #f8f9fa;
                    border-color: #007bff;
                }

            .dataTable-pagination-list li.pager a[b-1lh9q5k564] {
                padding: 8px 10px;
                min-width: 36px;
                font-weight: bold;
            }

            .dataTable-pagination-list li.active a[b-1lh9q5k564] {
                font-weight: bold;
                background: #007bff;
                color: white;
                border-color: #007bff;
            }

                .dataTable-pagination-list li.active a:hover[b-1lh9q5k564] {
                    background: #0056b3;
                    border-color: #0056b3;
                }
}

/* Tablet styles */
@media (min-width: 769px) and (max-width: 1024px) {
    .dataTable-top[b-1lh9q5k564] {
        gap: 1rem;
    }

    .dataTable-search[b-1lh9q5k564] {
        max-width: 300px;
    }
}

.dataTable-wrapper[b-1lh9q5k564] {
    width: 100%;
    overflow: hidden;
}

.dataTable-container[b-1lh9q5k564] {
    width: 100%;
    overflow-x: auto;
}
/* /Features/Dashboard/Calendar/CalendarPage.razor.rz.scp.css */
.calendar-toolbar[b-jjgf7c9pbt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.calendar-nav-button[b-jjgf7c9pbt] {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid #e3e8ef;
    border-radius: 0.5rem;
    background: #fff;
    color: #344767;
    font-size: 0.75rem;
    cursor: pointer;
}

.calendar-nav-button:hover[b-jjgf7c9pbt] {
    background: #f6f8ff;
}

.calendar-month[b-jjgf7c9pbt] {
    min-width: 10rem;
    margin: 0 0.5rem;
    color: #344767;
    font-weight: 700;
}

/* Below this width the posters no longer fit three per day, so the grid scrolls inside the card instead. */
.calendar-scroll[b-jjgf7c9pbt] {
    overflow-x: auto;
}

.calendar-grid[b-jjgf7c9pbt] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    min-width: 46rem;
    border: 1px solid #e9ecef;
    border-radius: 0.75rem;
    overflow: hidden;
}

.calendar-weekday[b-jjgf7c9pbt] {
    padding: 0.5rem 0.625rem;
    border-right: 1px solid #f0f2f5;
    border-bottom: 1px solid #e9ecef;
    background: #fff;
    color: #8392ab;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.calendar-day[b-jjgf7c9pbt] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
    min-height: 6.5rem;
    padding: 0.375rem 0.375rem 0.5rem;
    border-right: 1px solid #f0f2f5;
    border-bottom: 1px solid #f0f2f5;
    background: #fff;
}

.calendar-grid > :nth-child(7n)[b-jjgf7c9pbt] {
    border-right: 0;
}

.calendar-grid > .calendar-day:nth-last-child(-n+7)[b-jjgf7c9pbt] {
    border-bottom: 0;
}

.calendar-day.is-weekend[b-jjgf7c9pbt] {
    background: #fbfbfe;
}

.calendar-day.is-other-month[b-jjgf7c9pbt] {
    background: #fafbfc;
}

.calendar-day-header[b-jjgf7c9pbt] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.calendar-day-number[b-jjgf7c9pbt] {
    display: inline-grid;
    place-items: center;
    min-width: 1.375rem;
    height: 1.375rem;
    border-radius: 0.6875rem;
    color: #344767;
    font-size: 0.75rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.calendar-day-month[b-jjgf7c9pbt] {
    color: #8392ab;
    font-size: 0.65rem;
    font-weight: 600;
}

.calendar-day.is-other-month .calendar-day-number[b-jjgf7c9pbt],
.calendar-day.is-other-month .calendar-day-month[b-jjgf7c9pbt] {
    color: #b8bfcc;
}

.calendar-day.is-today .calendar-day-number[b-jjgf7c9pbt] {
    background: #5e72e4;
    color: #fff;
}

.calendar-day-performances[b-jjgf7c9pbt] {
    display: flex;
    align-items: flex-start;
    gap: 0.375rem;
}

.calendar-performance[b-jjgf7c9pbt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1875rem;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}

.calendar-poster[b-jjgf7c9pbt] {
    position: relative;
    display: grid;
    place-items: center;
    flex: none;
    width: 2.25rem;
    height: 2.8125rem;
    overflow: hidden;
    border-radius: 0.3125rem;
    background-image: linear-gradient(310deg, #627594 0%, #a8b8d8 100%);
    color: #fff;
    box-shadow: 0 2px 6px rgba(20, 25, 50, 0.2);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.calendar-poster img[b-jjgf7c9pbt] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.calendar-poster i[b-jjgf7c9pbt] {
    font-size: 0.875rem;
    opacity: 0.8;
}

.calendar-performance:hover .calendar-poster[b-jjgf7c9pbt],
.calendar-performance:focus-visible .calendar-poster[b-jjgf7c9pbt] {
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(20, 25, 50, 0.28);
}

.calendar-occupancy-track[b-jjgf7c9pbt] {
    display: block;
    width: 2.25rem;
    height: 0.1875rem;
    overflow: hidden;
    border-radius: 0.125rem;
    background: #e9ecef;
}

.calendar-occupancy-fill[b-jjgf7c9pbt] {
    display: block;
    height: 100%;
}

.occupancy-high[b-jjgf7c9pbt] {
    background: #3f9a6e;
}

.occupancy-medium[b-jjgf7c9pbt] {
    background: #d99a2b;
}

.occupancy-low[b-jjgf7c9pbt] {
    background: #d0573f;
}

.calendar-performance-time[b-jjgf7c9pbt] {
    color: #344767;
    font-size: 0.6875rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.calendar-performance.is-finished[b-jjgf7c9pbt] {
    opacity: 0.5;
}

.calendar-performance.is-finished .calendar-poster[b-jjgf7c9pbt] {
    filter: grayscale(0.6);
}

.calendar-performance.is-suspended .calendar-poster[b-jjgf7c9pbt] {
    filter: grayscale(0.85);
}

.calendar-performance.is-suspended .calendar-poster[b-jjgf7c9pbt]::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top right, transparent calc(50% - 1.5px), #f5365c calc(50% - 1.5px),
        #f5365c calc(50% + 1.5px), transparent calc(50% + 1.5px));
}

.calendar-performance.is-suspended .calendar-performance-time[b-jjgf7c9pbt] {
    color: #f5365c;
    text-decoration: line-through;
}

.calendar-performance.is-not-on-sale .calendar-poster[b-jjgf7c9pbt] {
    opacity: 0.45;
    outline: 1px dashed #8392ab;
    outline-offset: 1px;
}

.calendar-performance.is-not-on-sale .calendar-performance-time[b-jjgf7c9pbt] {
    color: #8392ab;
}

.calendar-performance.is-sold-out .calendar-occupancy-fill[b-jjgf7c9pbt] {
    background: #344767;
}

.calendar-more[b-jjgf7c9pbt] {
    align-self: center;
    margin-top: -0.875rem;
    padding: 0.3125rem 0.375rem;
    border: 0;
    border-radius: 0.375rem;
    background: #eff1fc;
    color: #4353c4;
    font-size: 0.6875rem;
    font-weight: 700;
    cursor: pointer;
}

.calendar-more:hover[b-jjgf7c9pbt] {
    background: #e2e6fb;
}

.calendar-legend[b-jjgf7c9pbt] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem 1rem;
    margin-top: 0.875rem;
    color: #67748e;
    font-size: 0.75rem;
}

.calendar-legend > span[b-jjgf7c9pbt] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
}

.calendar-legend-swatch[b-jjgf7c9pbt] {
    display: inline-block;
    flex: none;
    width: 0.5625rem;
    height: 0.5625rem;
    border-radius: 50%;
}

.calendar-legend-swatch.is-sold-out[b-jjgf7c9pbt] {
    border-radius: 0.1875rem;
    background: #344767;
}

.calendar-legend-swatch.is-suspended[b-jjgf7c9pbt] {
    border-radius: 0.1875rem;
    background: #f5365c;
}

.calendar-legend-swatch.is-not-on-sale[b-jjgf7c9pbt] {
    border: 1px dashed #8392ab;
    border-radius: 0.1875rem;
}

.calendar-legend-separator[b-jjgf7c9pbt] {
    width: 1px;
    height: 0.875rem;
    background: #e9ecef;
}

/* Fixed to the viewport, so the grid's horizontal scroll never clips it. */
.calendar-dialog-backdrop[b-jjgf7c9pbt] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(52, 71, 103, 0.35);
}

.calendar-dialog[b-jjgf7c9pbt] {
    width: 100%;
    max-width: 21rem;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    padding: 1rem 1.125rem;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 18px 50px -10px rgba(20, 30, 70, 0.38);
}

.calendar-dialog-heading[b-jjgf7c9pbt] {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.calendar-dialog-heading .calendar-poster[b-jjgf7c9pbt] {
    width: 2.75rem;
    height: 3.4375rem;
    border-radius: 0.375rem;
}

.calendar-dialog-titles[b-jjgf7c9pbt] {
    flex: 1;
    min-width: 0;
}

.calendar-dialog-close[b-jjgf7c9pbt] {
    flex: none;
    margin-left: auto;
    padding: 0 0.125rem;
    border: 0;
    background: none;
    color: #8392ab;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.calendar-dialog-row[b-jjgf7c9pbt] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.3125rem;
    color: #67748e;
    font-size: 0.75rem;
}

.calendar-dialog-row b[b-jjgf7c9pbt] {
    color: #344767;
    font-variant-numeric: tabular-nums;
}

.calendar-dialog-revenue[b-jjgf7c9pbt] {
    margin-top: 0.75rem;
    margin-bottom: 0;
    padding-top: 0.75rem;
    border-top: 1px solid #f0f2f5;
}

.calendar-occupancy-track-wide[b-jjgf7c9pbt] {
    width: 100%;
    height: 0.4375rem;
    border-radius: 0.25rem;
    background: #edf0f5;
}

.calendar-day-list[b-jjgf7c9pbt] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.calendar-day-list-item[b-jjgf7c9pbt] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 0.5rem;
    border: 0;
    border-radius: 0.5rem;
    background: none;
    text-align: left;
    cursor: pointer;
}

.calendar-day-list-item:hover[b-jjgf7c9pbt] {
    background: #f6f8ff;
}

.calendar-day-list-time[b-jjgf7c9pbt] {
    flex: none;
    color: #344767;
    font-size: 0.875rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.calendar-day-list-name[b-jjgf7c9pbt] {
    min-width: 0;
    overflow: hidden;
    color: #344767;
    font-size: 0.875rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Features/Dashboard/DashboardPage.razor.rz.scp.css */
/* Search box sized like the one on the shows table, so both screens filter through the same-looking control. */
.dashboard-search[b-3mqv1tbl3m] {
    position: relative;
    width: 100%;
    max-width: 320px;
}

.dashboard-search .form-control[b-3mqv1tbl3m] {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
}

/* The browser's own clear widget would sit on top of ours, and it cannot trigger the reload. */
.dashboard-search .form-control[b-3mqv1tbl3m]::-webkit-search-cancel-button {
    display: none;
}

.dashboard-search-icon[b-3mqv1tbl3m] {
    position: absolute;
    left: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: #8493a8;
    font-size: 0.8rem;
    pointer-events: none;
}

.dashboard-search-clear[b-3mqv1tbl3m] {
    position: absolute;
    right: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    padding: 0.25rem;
    line-height: 1;
    color: #8493a8;
    cursor: pointer;
}

.dashboard-search-clear:hover[b-3mqv1tbl3m] {
    color: #344767;
}

.image-wrapper[b-3mqv1tbl3m] {
    position: relative;
}

.card-dates[b-3mqv1tbl3m] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    padding: 2rem 0.625rem 0.625rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.5) 55%, transparent 100%);
    border-bottom-left-radius: 0.75rem;
    border-bottom-right-radius: 0.75rem;
    pointer-events: none;
}

.date-badge[b-3mqv1tbl3m] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    max-width: 100%;
    padding: 0.15rem 0.45rem;
    border-radius: 0.4rem;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
}

.date-badge i[b-3mqv1tbl3m] {
    font-size: 0.68rem;
    opacity: 0.85;
}

.date-badge span[b-3mqv1tbl3m] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.date-badge.more[b-3mqv1tbl3m] {
    background: rgba(0, 0, 0, 0.25);
    font-weight: 500;
    opacity: 0.9;
}

/* Wrapper holds the card link plus the settings gear (a sibling, so the anchors are not nested). Lifting the
   wrapper on hover/focus moves the gear together with the card and signals the card is clickable. */
.dashboard-card-wrapper[b-3mqv1tbl3m] {
    position: relative;
    border-radius: 0.75rem;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.dashboard-card-wrapper:hover[b-3mqv1tbl3m],
.dashboard-card-wrapper:focus-within[b-3mqv1tbl3m] {
    transform: translateY(-4px);
    box-shadow: 0 0.5rem 1.5rem rgba(20, 20, 50, 0.2);
}

.dashboard-card-link[b-3mqv1tbl3m] {
    display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.dashboard-card-link:hover[b-3mqv1tbl3m],
.dashboard-card-link:focus[b-3mqv1tbl3m] {
    color: inherit;
}

.show-stats-revenue[b-3mqv1tbl3m] {
    margin-bottom: 0.5rem;
}

/* On a phone the card spans the whole width, so revenue moves up beside the sold count instead of taking a row of its own. */
@media (max-width: 575.98px) {
    .show-stats[b-3mqv1tbl3m] {
        display: grid;
        grid-template-columns: auto auto;
        grid-template-areas:
            "sold revenue"
            "bar bar"
            "legend legend";
        justify-content: space-between;
        column-gap: 0.75rem;
    }

    .show-stats-revenue[b-3mqv1tbl3m] {
        grid-area: revenue;
        margin-bottom: 0;
        text-align: right;
    }

    .show-stats-sold[b-3mqv1tbl3m] {
        grid-area: sold;
    }

    .show-stats .occupancy-bar[b-3mqv1tbl3m] {
        grid-area: bar;
    }

    .show-stats .occupancy-legend[b-3mqv1tbl3m] {
        grid-area: legend;
    }
}

/* Sold tickets lead the card: producers read this figure first, occupancy is supporting context below it. */
.sold-tickets[b-3mqv1tbl3m] {
    line-height: 1.2;
}

.sold-tickets-count[b-3mqv1tbl3m] {
    font-size: 1.375rem;
    font-weight: 700;
    color: #344767;
}

/* Stacked bar: sold, then courtesies, with the empty track standing for the seats still free. */
.occupancy-bar[b-3mqv1tbl3m] {
    display: flex;
    height: 0.5rem;
    border-radius: 0.25rem;
    overflow: hidden;
    background: #e9ecef;
}

.occupancy-bar-sold[b-3mqv1tbl3m] {
    background: #5e72e4;
}

.occupancy-bar-courtesy[b-3mqv1tbl3m],
.occupancy-legend-swatch[b-3mqv1tbl3m] {
    background: #b5bff4;
}

.occupancy-legend[b-3mqv1tbl3m] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.5rem;
    margin-top: 0.375rem;
    font-size: 0.7rem;
    color: #67748e;
}

.occupancy-legend-swatch[b-3mqv1tbl3m] {
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 0.125rem;
    margin-right: 0.125rem;
}
/* /Features/Dashboard/PerformanceDetail/FreeSeatsBreakdown.razor.rz.scp.css */
/* Reads as the plain "N free" text it replaces; the dotted underline is the only hint that it opens. */
.free-seats-toggle[b-dmd72wzjep] {
    background: none;
    border: 0;
    border-bottom: 1px dotted currentColor;
    padding: 0;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.free-seats-toggle .fa-chevron-down[b-dmd72wzjep] {
    font-size: 0.65em;
}

/* Normal weight and size even inside the bold occupancy heading. */
.free-seats-menu[b-dmd72wzjep] {
    min-width: 15rem;
    font-size: 0.875rem;
    font-weight: 400;
    text-align: left;
    white-space: normal;
}

/* Popper centres the menu under "N free" (dropdown-center) with a transform, but on desktop Argon animates every dropdown
   with its own transform and custom.css adds a 40px !important margin: both would pin the menu to the toggle's left edge. */
.free-seats-menu[b-dmd72wzjep],
.free-seats-menu.show[b-dmd72wzjep] {
    animation: none;
    transition: opacity 0.15s ease;
}

.dropdown-center > .free-seats-menu[b-dmd72wzjep] {
    margin-top: 0 !important;
}

.free-seats-menu[b-dmd72wzjep]::before {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
}

.free-seats-row[b-dmd72wzjep] {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.free-seats-refresh[b-dmd72wzjep] {
    background: none;
    border: 0;
    padding: 0;
    margin-top: 0.5rem;
    font-size: 0.75rem;
    color: #5e72e4;
    cursor: pointer;
}
/* /Features/Dashboard/PerformanceDetail/PerformanceDashboardPage.razor.rz.scp.css */
/* Container styled after the Argon Pro kanban columns (e.g. "Backlog", "In progress"). */
.sectors-panel[b-9gyj5hnftn] {
    background: #e9ecef;
    border-radius: 0.75rem;
    /* inline-block shrink-wraps to the card row reliably (fit-content collapses with
       a flex child in Chrome); max-width keeps it from overflowing the page. */
    display: inline-block;
    max-width: 100%;
}

.sectors-panel-header[b-9gyj5hnftn] {
    padding: 20px;
}

.sectors-panel-body[b-9gyj5hnftn] {
    padding: 0 20px 20px;
}

.sectors-grid[b-9gyj5hnftn] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    /* Center the cards when they wrap to a single column (mobile); no effect when the
       panel shrink-wraps the row exactly (desktop). */
    justify-content: center;
}

.sector-card[b-9gyj5hnftn] {
    /* Fixed width, no shrink: cards keep their size so the panel can shrink-wrap the row. Firefox ignores
       flex-basis when sizing the wrapped grid intrinsically, so width is what actually reaches the panel. */
    flex: 0 0 224px;
    width: 224px;
    max-width: 100%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    /* The free seats breakdown menu has to escape the card, which is narrower than the menu itself. */
    overflow: visible;
}

/* A sector taken off sale still shows its real occupancy, but reads as inactive next to the ones being sold. */
.sector-card-off-sale[b-9gyj5hnftn] {
    opacity: 0.6;
}

/* Shadow only: lifting the card with a transform would trap the free seats menu inside the card's stacking context. */
.sector-card-menu[b-9gyj5hnftn] {
    transition: box-shadow 0.15s ease;
}

.sector-card-menu:hover[b-9gyj5hnftn],
.sector-card-menu:focus-within[b-9gyj5hnftn] {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.sector-card-toggle[b-9gyj5hnftn] {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: inherit;
    background: transparent;
    cursor: pointer;
}

.sector-card-toggle:focus-visible[b-9gyj5hnftn] {
    outline: 2px solid #5e72e4;
    outline-offset: 2px;
}

/* Opens inside the card, under the sector name, so it reads as the card's own menu and never covers a neighbour.
   custom.css pushes every desktop dropdown down 40px with !important, which would drop this one over the sales figures. */
.sector-card-menu > .dropdown-menu[data-bs-popper][b-9gyj5hnftn] {
    top: 3.25rem;
    left: 0.75rem;
    right: 0.75rem;
    min-width: 0;
    margin-top: 0 !important;
}

.sector-card-chevron[b-9gyj5hnftn] {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: #8392ab;
    transition: transform 0.15s ease;
}

.sector-card-toggle[aria-expanded="true"] ~ .card-body .sector-card-chevron[b-9gyj5hnftn] {
    transform: rotate(180deg);
}

.sector-card-menu[b-9gyj5hnftn]  .free-seats-toggle {
    position: relative;
    z-index: 2;
}

/* Everything that operates the performance lives on this bar, off the dark header: on white the channel state can be
   written out instead of being read from the colour of a switch. */
.operation-bar .card-body[b-9gyj5hnftn] {
    row-gap: 1rem;
}

.sale-channel-chip[b-9gyj5hnftn] {
    border: 1px solid #e9ecef;
    border-radius: 0.5rem;
    padding: 0.5rem 0.875rem;
}

.sale-channel-icon[b-9gyj5hnftn] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    background: #f0f2f5;
    color: #8392ab;
    font-size: 0.875rem;
    flex-shrink: 0;
}

.sale-channel-icon-on[b-9gyj5hnftn] {
    background: #eef1fd;
    color: #5e72e4;
}

.sale-channel-name[b-9gyj5hnftn] {
    color: #344767;
    line-height: 1.3;
}

/* Argon's own .text-success sits at 1.33:1 on white, which is unreadable at this size; this green clears 4.5:1. */
.sale-channel-on[b-9gyj5hnftn] {
    color: #167f52;
    line-height: 1.3;
}

/* Darker than Argon's .text-secondary: this line carries the channel state, so it has to clear 4.5:1 at 12px. */
.sale-channel-off[b-9gyj5hnftn] {
    color: #67748e;
    line-height: 1.3;
}

/* Argon sizes the switch track with `height: 1.25em` but draws the knob at a fixed 1rem, so the knob spills out of the
   track whenever the inherited font-size is smaller than Argon assumes. Pinning both axes in absolute units fixes it. */
.sale-channel-switch[b-9gyj5hnftn] {
    padding-left: 0;
    min-height: 0;
}

.sale-channel-switch .form-check-input[b-9gyj5hnftn] {
    width: 2.5rem;
    /* The knob is absolutely positioned at top:1px, and `top` resolves against the padding box, not the border box.
       With box-sizing:border-box the track needs 1rem knob + 2px of gap + 2px of border = 1.25rem to centre it. */
    height: 1.25rem;
    margin: 0;
    flex-shrink: 0;
}

.channel-spinner[b-9gyj5hnftn] {
    width: 0.875rem;
    height: 0.875rem;
    border-width: 0.15em;
}

/* Dims the toggle while the change is in flight; the input is disabled too, this is the visible half of that. */
.channel-row-saving[b-9gyj5hnftn] {
    opacity: 0.65;
}

.sector-gauge[b-9gyj5hnftn] {
    position: relative;
    width: 112px;
    height: 112px;
}

.sector-gauge svg[b-9gyj5hnftn] {
    width: 100%;
    height: 100%;
    /* Start the arc at 12 o'clock instead of 3 o'clock. */
    transform: rotate(-90deg);
}

.sector-gauge-track[b-9gyj5hnftn] {
    fill: none;
    stroke: #e9ecef;
    stroke-width: 10;
}

.sector-gauge-fill[b-9gyj5hnftn] {
    fill: none;
    stroke: #5e72e4;
    stroke-width: 10;
    stroke-linecap: round;
    transition: stroke-dashoffset 0.6s ease;
}

.sector-gauge-label[b-9gyj5hnftn] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.1;
    color: #344767;
}

/* The state hangs from the percentage into the ring's hole instead of sitting under the card body: the sector grid is a
   flex row, so one extra line on a single card stretches every card beside it. The percentage stays anchored to the
   exact centre in every card, with or without a caption, so the numbers line up across the row. */
.sector-gauge-caption[b-9gyj5hnftn] {
    position: absolute;
    top: 50%;
    left: 50%;
    /* Clears half of the percentage's line box, so the caption starts right below it. */
    margin-top: 0.7rem;
    transform: translateX(-50%);
    width: max-content;
    /* Well inside the ~88px hole: a long caption wraps to two centred lines instead of touching the stroke. */
    max-width: 68px;
    font-size: 0.5625rem;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: center;
}

/* The ring and the caption carry the same colour so the state reads at a glance without a legend. */
.sector-gauge-sold-out .sector-gauge-fill[b-9gyj5hnftn],
.sector-gauge-sold-out .sector-gauge-caption[b-9gyj5hnftn] {
    stroke: #f5365c;
    color: #f5365c;
}

.sector-gauge-off-sale .sector-gauge-fill[b-9gyj5hnftn],
.sector-gauge-off-sale .sector-gauge-caption[b-9gyj5hnftn] {
    stroke: #8392ab;
    color: #8392ab;
}
/* /Features/Dashboard/ShowDetail/ShowDashboardPage.razor.rz.scp.css */
/* Container styled after the Argon Pro kanban columns (e.g. "Backlog", "In progress"). */
.board-panel[b-sfzwqhmayz] {
    background: #e9ecef;
    border-radius: 0.75rem;
    /* inline-block shrink-wraps to the card row reliably (fit-content collapses with
       a flex child in Chrome); max-width keeps it from overflowing the page. */
    display: inline-block;
    max-width: 100%;
}

.board-panel-header[b-sfzwqhmayz] {
    padding: 20px;
}

.board-panel-body[b-sfzwqhmayz] {
    padding: 0 20px 20px;
}

.functions-grid[b-sfzwqhmayz] {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    /* Center the cards when they wrap to a single column (mobile); no effect when the
       panel shrink-wraps the row exactly (desktop). */
    justify-content: center;
}

.function-card[b-sfzwqhmayz] {
    /* Fixed width, no shrink: cards keep their size so the panel can shrink-wrap the row. Firefox ignores
       flex-basis when sizing the wrapped grid intrinsically, so width is what actually reaches the panel. */
    flex: 0 0 320px;
    width: 320px;
    max-width: 100%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* The whole card is the link to the performance, so it has to shed the anchor's default colour and underline
   and pick up its own affordance instead. */
.function-card-link[b-sfzwqhmayz] {
    color: inherit;
    text-decoration: none;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.function-card-link:hover[b-sfzwqhmayz],
.function-card-link:focus-visible[b-sfzwqhmayz] {
    color: inherit;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}
/* /Features/Halls/Sections/FixedHolds/EditSectionFixedHolds.razor.rz.scp.css */
/* On ultrawide monitors the card would stretch across the whole screen */
.section-fixed-holds[b-1wcw5nri89] {
    max-width: 1320px;
}

.seat-legend-indicator[b-1wcw5nri89] {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1.5px solid #344767;
}

.quantity-input[b-1wcw5nri89] {
    max-width: 12rem;
}
/* /Features/Halls/Sections/Order/OrderSections.razor.rz.scp.css */
.section-item[b-isold12oih] {
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

    .section-item.moving-up[b-isold12oih] {
        animation: moveUp-b-isold12oih 0.3s ease-out;
    }

    .section-item.moving-down[b-isold12oih] {
        animation: moveDown-b-isold12oih 0.3s ease-out;
    }

@keyframes moveUp-b-isold12oih {
    0% {
        transform: translateY(100%);
        opacity: 0.5;
    }

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

@keyframes moveDown-b-isold12oih {
    0% {
        transform: translateY(-100%);
        opacity: 0.5;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
/* /Features/Halls/Templates/EditSections/EditSections.razor.rz.scp.css */
.btn-list[b-x4c66uz9cc] {
    width: 50px;
    padding-left: 8px;
    padding-right: 8px;
    min-width: 0px;
}

.section-item[b-x4c66uz9cc] {
    transition: all 0.3s ease-in-out;
    transform: translateY(0);
}

    .section-item.moving-up[b-x4c66uz9cc] {
        animation: slideUp-b-x4c66uz9cc 0.3s ease-in-out;
    }

    .section-item.moving-down[b-x4c66uz9cc] {
        animation: slideDown-b-x4c66uz9cc 0.3s ease-in-out;
    }

@keyframes slideUp-b-x4c66uz9cc {
    0% {
        transform: translateY(0);
        background-color: var(--bs-light);
    }

    50% {
        transform: translateY(-10px);
        background-color: var(--bs-primary-bg-subtle);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }

    100% {
        transform: translateY(0);
        background-color: var(--bs-light);
    }
}

@keyframes slideDown-b-x4c66uz9cc {
    0% {
        transform: translateY(0);
        background-color: var(--bs-light);
    }

    50% {
        transform: translateY(10px);
        background-color: var(--bs-primary-bg-subtle);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }

    100% {
        transform: translateY(0);
        background-color: var(--bs-light);
    }
}
/* /Features/PendingPickups/PendingPickupShows.razor.rz.scp.css */
/* Card holding the whole report. No overflow:hidden here, unlike the mockup: the show picker's dropdown
   lives inside this card and clipping would cut it off. */
.pending-card[b-zge1807qta] {
    background: #fff;
    border: 1px solid #e5e8ee;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(30, 40, 60, 0.1);
}

/* ── Filter ─────────────────────────────────────────────────────── */

.filter-block[b-zge1807qta] {
    padding: 22px 26px;
    border-bottom: 1px solid #edf0f4;
}

.filter-label[b-zge1807qta] {
    margin-bottom: 8px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: #8a94a8;
}

/* The picker is a shared component, so its own width and control styling are overridden from here
   instead of being changed for every screen that uses it. */
.filter-block[b-zge1807qta]  .show-picker {
    min-width: 0;
}

.filter-block[b-zge1807qta]  .show-picker-input {
    height: auto;
    /* Right padding keeps clear of the picker's own clear button. */
    padding: 11px 2rem 11px 14px;
    font-size: 0.875rem;
    border-color: #d6dce5;
    border-radius: 8px;
    color: #20293a;
}

/* ── List ───────────────────────────────────────────────────────── */

.list-header[b-zge1807qta] {
    display: flex;
    justify-content: space-between;
    padding: 12px 26px;
    border-bottom: 1px solid #edf0f4;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    color: #8a94a8;
}

.show-group[b-zge1807qta] {
    border-bottom: 1px solid #edf0f4;
    /* Trailing breathing room so the last performance of a group does not touch the divider. */
    padding-bottom: 8px;
}

.show-group:last-child[b-zge1807qta] {
    border-bottom: 0;
}

.show-heading[b-zge1807qta] {
    padding: 14px 26px 4px;
}

.show-name[b-zge1807qta] {
    font-size: 0.9375rem;
    font-weight: 800;
    color: #20293a;
}

.show-subtitle[b-zge1807qta] {
    font-size: 0.78125rem;
    font-weight: 600;
    color: #8a94a8;
}

.performance-row[b-zge1807qta] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 26px 9px 44px;
    cursor: pointer;
}

.performance-row:hover[b-zge1807qta] {
    background: #f6f8fb;
}

.performance-date[b-zge1807qta] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #54617a;
}

.pending-count[b-zge1807qta] {
    min-width: 44px;
    padding: 4px 10px;
    border-radius: 14px;
    background: #eef1f6;
    color: #35496b;
    font-size: 0.8125rem;
    font-weight: 800;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.empty-state[b-zge1807qta] {
    padding: 3rem;
    text-align: center;
    color: #8a94a8;
}
/* /Features/Reports/ActiveEvents/ActiveEventsCompactView.razor.rz.scp.css */
/* ── Header: title and amount format ────────────────────────────── */

/* Own header instead of PageHeader: its 20rem heading basis would push the format switch onto a line of its own on a
   phone. The left padding matches PageHeader's, and the right edge meets the list's. */
.compact-header[b-566x5grxgk] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "menu title format";
    align-items: center;
    max-width: 760px;
    margin-bottom: 0.75rem;
    padding-left: 0.5rem;
}

.compact-header[b-566x5grxgk]  .navbar {
    grid-area: menu;
    margin-right: 0.625rem;
}

.compact-title[b-566x5grxgk] {
    grid-area: title;
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}

.amount-format-slot[b-566x5grxgk] {
    grid-area: format;
    margin-left: 0.75rem;
}

/* ── Sticky totals ──────────────────────────────────────────────── */

/* Only the totals stay on screen while the list scrolls; the title scrolls away and leaves the rows the room. The
   bar bleeds over the container's 1.5rem gutters so, once stuck, it covers the full width instead of letting the rows
   show at its sides. Its colour is the layout band's, so before sticking it does not show as a block of its own. */
.compact-kpis-bar[b-566x5grxgk] {
    position: sticky;
    top: 0;
    z-index: 3;
    margin: 0 -1.5rem;
    padding: 0.5rem 1.5rem 0.875rem;
    background-color: #344767;
}

/* Left edge with the title, right edge with the amounts of the rows below. On a 320px phone a nine-digit revenue
   leaves no room beside it, so tickets and occupancy wrap below, still on the right. */
.compact-kpis[b-566x5grxgk] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.375rem 0.75rem;
    max-width: 760px;
    padding: 0 1rem 0 0.5rem;
    color: #fff;
    font-variant-numeric: tabular-nums;
}

.compact-kpi[b-566x5grxgk] {
    display: flex;
    flex-direction: column;
}

.compact-kpi-side[b-566x5grxgk] {
    display: flex;
    gap: 0.875rem;
    margin-left: auto;
    text-align: right;
}

.compact-kpi-label[b-566x5grxgk] {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
}

.compact-kpi-revenue[b-566x5grxgk] {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.compact-kpi-value[b-566x5grxgk] {
    font-size: 0.9375rem;
    font-weight: 600;
    white-space: nowrap;
}

/* ── List ───────────────────────────────────────────────────────── */

/* The semaphore colours are shared by the bars and the legend. */
.compact-report[b-566x5grxgk] {
    --occupancy-high: #3f9a6e;
    --occupancy-medium: #d99a2b;
    --occupancy-low: #d0573f;
    max-width: 760px;
}

.compact-card[b-566x5grxgk] {
    max-width: 760px;
    overflow: hidden;
}

.compact-month[b-566x5grxgk] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    padding: 0.375rem 1rem;
    border-bottom: 1px solid #f0f2f5;
    background-color: #f8f9fa;
    font-size: 0.75rem;
    color: #67748e;
    font-variant-numeric: tabular-nums;
}

.compact-month-label[b-566x5grxgk] {
    font-weight: 700;
    color: #344767;
    text-transform: capitalize;
}

.compact-month-total[b-566x5grxgk] {
    white-space: nowrap;
}

/* Date · show · figures: the same three tracks for shows, performances and the total, so the amounts line up.
   Argon's 1.5 line height would add some 8px to every two-line row; the tighter one fits a dozen shows on a phone
   screen. */
.compact-row[b-566x5grxgk] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 0.625rem;
    align-items: center;
    padding: 0.5rem 1rem;
    border-bottom: 1px solid #f0f2f5;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
}

.compact-show[b-566x5grxgk] {
    min-height: 44px;
}

.compact-show-expandable[b-566x5grxgk] {
    cursor: pointer;
}

.compact-date[b-566x5grxgk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
    text-align: center;
}

.compact-date-day[b-566x5grxgk] {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -0.3px;
    white-space: nowrap;
    color: #344767;
}

/* Two numbers have to fit the same 34px as one. */
.compact-date-day-range[b-566x5grxgk] {
    font-size: 0.75rem;
    letter-spacing: -0.5px;
}

.compact-date-month[b-566x5grxgk] {
    margin-top: 3px;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8392ab;
}

.compact-info[b-566x5grxgk] {
    min-width: 0;
}

/* Only the name and the date stay semibold, so they are what the eye reads first; everything else is regular. One
   line per show: a long name is cut with an ellipsis and the full one stays in the tooltip. */
.compact-name[b-566x5grxgk] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 0.875rem;
    font-weight: 600;
    color: #344767;
}

.compact-meta[b-566x5grxgk] {
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    font-size: 0.75rem;
    color: #67748e;
}

.compact-chevron[b-566x5grxgk] {
    font-size: 0.5625rem;
    color: #344767;
    transition: transform 0.15s;
}

.compact-chevron.is-expanded[b-566x5grxgk] {
    transform: rotate(90deg);
}

.compact-figures[b-566x5grxgk] {
    text-align: right;
}

.compact-amount[b-566x5grxgk] {
    font-size: 0.875rem;
    white-space: nowrap;
    color: #344767;
}

.compact-occupancy[b-566x5grxgk] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 2px;
}

.compact-track[b-566x5grxgk] {
    display: block;
    width: 36px;
    height: 4px;
    border-radius: 2px;
    background-color: #eef0f4;
    overflow: hidden;
}

.compact-bar[b-566x5grxgk] {
    display: block;
    height: 100%;
}

.occupancy-high[b-566x5grxgk] {
    background-color: var(--occupancy-high);
}

.occupancy-medium[b-566x5grxgk] {
    background-color: var(--occupancy-medium);
}

.occupancy-low[b-566x5grxgk] {
    background-color: var(--occupancy-low);
}

.compact-rate[b-566x5grxgk] {
    width: 2.25rem;
    text-align: right;
    font-size: 0.75rem;
    color: #525f7f;
}

.compact-performance[b-566x5grxgk] {
    padding: 0.375rem 1rem;
    background-color: #fafbfc;
    font-size: 0.78125rem;
    color: #67748e;
}

.compact-performance-when[b-566x5grxgk] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.compact-performance-figures[b-566x5grxgk] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.compact-performance-rate[b-566x5grxgk] {
    width: 2.25rem;
    text-align: right;
    font-weight: 600;
    color: #344767;
}

/* The negative margin lays this border over the last row's own, instead of drawing a double line. */
.compact-total[b-566x5grxgk] {
    margin-top: -1px;
    padding: 0.75rem 1rem;
    border-top: 1px solid #e9ecef;
    border-bottom: 0;
    background-color: #f8f9fa;
}

.compact-total-label[b-566x5grxgk] {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #344767;
}

.compact-total-meta[b-566x5grxgk] {
    font-size: 0.75rem;
    color: #67748e;
}

.compact-total-amount[b-566x5grxgk] {
    font-size: 1rem;
    font-weight: 700;
    white-space: nowrap;
    color: #344767;
}

/* ── References ─────────────────────────────────────────────────── */

.compact-references[b-566x5grxgk] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    padding: 0 0.25rem;
    font-size: 0.71875rem;
    color: #67748e;
}

.occupancy-legend[b-566x5grxgk] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
}

.legend-item[b-566x5grxgk] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.legend-swatch[b-566x5grxgk] {
    width: 8px;
    height: 8px;
    border-radius: 2px;
}

.legend-swatch-high[b-566x5grxgk] {
    background-color: var(--occupancy-high);
}

.legend-swatch-medium[b-566x5grxgk] {
    background-color: var(--occupancy-medium);
}

.legend-swatch-low[b-566x5grxgk] {
    background-color: var(--occupancy-low);
}

/* Argon sizes every <p> at 1rem, so the note does not inherit the block's smaller type. */
.report-note[b-566x5grxgk] {
    margin: 0;
    font-size: 0.71875rem;
    line-height: 1.45;
}

/* ── Phones ─────────────────────────────────────────────────────── */

/* Every pixel of width goes to the rows: the list drops the card margins and runs edge to edge, and the switch and
   the totals line up with its 0.875rem padding instead of the container's 1.5rem gutter. */
@media (max-width: 575.98px) {
    .compact-header[b-566x5grxgk] {
        margin-right: -0.625rem;
    }

    .compact-title[b-566x5grxgk] {
        font-size: 1.0625rem;
    }

    .compact-kpis-bar[b-566x5grxgk] {
        padding-right: 0.875rem;
    }

    .compact-kpis[b-566x5grxgk] {
        padding-right: 0;
    }

    .compact-report[b-566x5grxgk] {
        margin-right: -1.5rem;
        margin-left: -1.5rem;
    }

    .compact-card[b-566x5grxgk] {
        border-radius: 0;
    }

    .compact-month[b-566x5grxgk],
    .compact-row[b-566x5grxgk] {
        padding-right: 0.875rem;
        padding-left: 0.875rem;
    }

    .compact-references[b-566x5grxgk] {
        padding: 0 0.875rem;
    }
}

/* Below 360px the title and the switch both give up a little so the title keeps to one line. */
@media (max-width: 359.98px) {
    .compact-title[b-566x5grxgk] {
        font-size: 1rem;
    }

    .amount-format-slot[b-566x5grxgk] {
        margin-left: 0.5rem;
    }
}
/* /Features/Reports/ActiveEvents/ActiveEventsDesktopView.razor.rz.scp.css */
/* The semaphore colours live on the column that holds the list and the legend, so both — and OccupancyCell, a child
   component that isolated CSS cannot reach — read the same values. */
.active-events-report[b-vum0lf0yn9] {
    --occupancy-high: #3f9a6e;
    --occupancy-medium: #d99a2b;
    --occupancy-low: #d0573f;
}

/* The cap keeps the amounts close to the show name on wide monitors. */
.kpi-strip[b-vum0lf0yn9],
.active-events-card[b-vum0lf0yn9],
.report-references[b-vum0lf0yn9] {
    max-width: 1240px;
}

/* Capped like the list, so the amount switch ends over the amounts column instead of at the far edge of a wide monitor.
   The extra half rem makes up for the header row's px-2 inset. */
.report-header[b-vum0lf0yn9] {
    max-width: calc(1240px + 0.5rem);
}

.active-events-card[b-vum0lf0yn9] {
    overflow: hidden;
}

/* ── Grid rows ──────────────────────────────────────────────────── */

/* The show column keeps a real minimum: with the figures at their widest it would otherwise collapse to nothing and
   the names would run over the ticket count. */
.grid-row[b-vum0lf0yn9] {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(64px, 110px) minmax(120px, 220px) minmax(120px, 170px);
    column-gap: clamp(12px, 2vw, 24px);
    align-items: center;
    padding: 0.875rem 1.5rem;
    border-bottom: 1px solid #f0f2f5;
}

.cell-tickets[b-vum0lf0yn9],
.cell-total[b-vum0lf0yn9] {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.header-row[b-vum0lf0yn9] {
    padding: 0.75rem 1.5rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
    color: #8392ab;
}

.heading-end[b-vum0lf0yn9] {
    text-align: right;
}

/* ── Month bands ────────────────────────────────────────────────── */

.month-row[b-vum0lf0yn9] {
    padding: 0.625rem 1.5rem;
    background-color: #f8f9fa;
    font-size: 0.78125rem;
    color: #67748e;
}

.month-row .cell-name[b-vum0lf0yn9] {
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
}

.month-label[b-vum0lf0yn9] {
    font-size: 0.8125rem;
    font-weight: 800;
    color: #344767;
    text-transform: capitalize;
}

.month-row .cell-tickets[b-vum0lf0yn9],
.month-row .cell-total[b-vum0lf0yn9] {
    font-weight: 700;
}

/* ── Show rows ──────────────────────────────────────────────────── */

.show-row:hover[b-vum0lf0yn9] {
    background-color: #fafbfe;
}

.show-row-expandable[b-vum0lf0yn9] {
    cursor: pointer;
}

.show-row .cell-name[b-vum0lf0yn9] {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    min-width: 0;
}

.date-chip[b-vum0lf0yn9] {
    flex: none;
    width: 48px;
    border: 1px solid #e9ecef;
    border-radius: 0.5rem;
    overflow: hidden;
    text-align: center;
    background-color: #fff;
}

.date-chip-month[b-vum0lf0yn9] {
    display: block;
    padding: 2px 0;
    background-color: #f0f2f5;
    font-size: 0.625rem;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #67748e;
}

.date-chip-day[b-vum0lf0yn9] {
    display: block;
    padding: 3px 0 4px;
    font-size: 1.0625rem;
    font-weight: 800;
    line-height: 1.4;
    color: #344767;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* Smaller type and more padding: the same chip height for "28–29" as for "28". */
.date-chip-day-range[b-vum0lf0yn9] {
    padding: 5px 0 6px;
    font-size: 0.8125rem;
    line-height: 1.5;
}

.show-title[b-vum0lf0yn9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

/* One line per show: a long name is cut with an ellipsis and the full one stays in the tooltip. */
.show-name[b-vum0lf0yn9] {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 0.875rem;
    font-weight: 700;
    color: #344767;
}

.show-when[b-vum0lf0yn9] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: #67748e;
}

.details-toggle[b-vum0lf0yn9] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 700;
    color: #344767;
}

.details-toggle i[b-vum0lf0yn9] {
    font-size: 0.5625rem;
    transition: transform 0.15s;
}

.details-toggle .is-expanded[b-vum0lf0yn9] {
    transform: rotate(90deg);
}

.show-row .cell-tickets[b-vum0lf0yn9],
.show-row .cell-total[b-vum0lf0yn9] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #344767;
}

/* ── Performance rows (expanded) ────────────────────────────────── */

.performance-row[b-vum0lf0yn9] {
    padding: 0.5625rem 1.5rem;
    background-color: #fafbfc;
    font-size: 0.84375rem;
    color: #67748e;
}

/* Indented past the date chip, so the performance reads as part of the show above it. */
.performance-date[b-vum0lf0yn9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-left: 62px;
    font-size: 0.8125rem;
}

.performance-date[b-vum0lf0yn9]::before {
    content: "";
    flex: none;
    width: 12px;
    height: 1px;
    background-color: #c9ceda;
}

/* ── Totals ─────────────────────────────────────────────────────── */

/* The negative margin lays this border over the last row's own, instead of drawing a double line. */
.totals-row[b-vum0lf0yn9] {
    margin-top: -1px;
    padding: 1.125rem 1.5rem;
    border-top: 1px solid #e9ecef;
    border-bottom: 0;
    background-color: #f8f9fa;
}

.totals-label[b-vum0lf0yn9] {
    font-size: 0.8125rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #344767;
}

.totals-row .cell-tickets[b-vum0lf0yn9],
.totals-row .cell-total[b-vum0lf0yn9] {
    font-size: 1.0625rem;
    font-weight: 800;
    color: #344767;
}

.totals-occupancy[b-vum0lf0yn9] {
    font-size: 0.8125rem;
    color: #67748e;
}

/* ── KPI strip ──────────────────────────────────────────────────── */

/* Sits on the layout's dark band, above the list, hence the white text. */
.kpi-strip[b-vum0lf0yn9] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0.25rem 0 1.5rem;
}

.kpi[b-vum0lf0yn9] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    min-width: 0;
    padding: 0.125rem 1.25rem;
    border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.kpi:first-child[b-vum0lf0yn9] {
    padding-left: 0;
    border-left: 0;
}

.kpi-label[b-vum0lf0yn9] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
}

.kpi-value[b-vum0lf0yn9] {
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    font-weight: 800;
    line-height: 1.15;
    color: #fff;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.kpi-value-line[b-vum0lf0yn9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.75rem;
}

.kpi-meta[b-vum0lf0yn9] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
    white-space: nowrap;
}

.kpi-track[b-vum0lf0yn9] {
    display: block;
    flex: 1 1 60px;
    max-width: 120px;
    height: 6px;
    border-radius: 3px;
    background-color: rgba(255, 255, 255, 0.18);
    overflow: hidden;
}

.kpi-bar[b-vum0lf0yn9] {
    display: block;
    height: 100%;
    border-radius: 3px;
    background-color: #fff;
}

/* ── References ─────────────────────────────────────────────────── */

.report-references[b-vum0lf0yn9] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    padding: 0 0.25rem;
    font-size: 0.75rem;
    color: #67748e;
}

.occupancy-legend[b-vum0lf0yn9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
}

.legend-title[b-vum0lf0yn9] {
    font-weight: 700;
}

.legend-item[b-vum0lf0yn9] {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    white-space: nowrap;
}

.legend-swatch[b-vum0lf0yn9] {
    width: 8px;
    height: 8px;
    border-radius: 2px;
}

.legend-swatch-high[b-vum0lf0yn9] {
    background-color: var(--occupancy-high);
}

.legend-swatch-medium[b-vum0lf0yn9] {
    background-color: var(--occupancy-medium);
}

.legend-swatch-low[b-vum0lf0yn9] {
    background-color: var(--occupancy-low);
}

/* Argon sizes every <p> at 1rem, so the note does not inherit the block's smaller type. */
.report-note[b-vum0lf0yn9] {
    margin: 0;
    font-size: 0.75rem;
}
/* /Features/Reports/ActiveEvents/AmountFormatSwitch.razor.rz.scp.css */
/* Two-option switch for the dark header band; each option shows a sample amount, so it reads without a label. */
.amount-format[b-755kgd4w1n] {
    display: flex;
    gap: 2px;
    padding: 3px;
    border-radius: 999px;
    background-color: rgba(255, 255, 255, 0.12);
}

.amount-format button[b-755kgd4w1n] {
    padding: 0.3125rem 0.625rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap;
    color: rgba(255, 255, 255, 0.8);
    font-variant-numeric: tabular-nums;
}

.amount-format button.is-selected[b-755kgd4w1n] {
    background-color: #fff;
    color: #344767;
}

/* Below 360px the switch gives up a little so the compact title keeps to one line beside it. */
@media (max-width: 359.98px) {
    .amount-format button[b-755kgd4w1n] {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
        font-size: 0.6875rem;
    }
}
/* /Features/Reports/ActiveEvents/OccupancyCell.razor.rz.scp.css */
/* The semaphore colours (--occupancy-*) are declared by the page: custom properties inherit into child components,
   which isolated CSS cannot reach. */
.occupancy[b-8avmvflgc3] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.occupancy-figures[b-8avmvflgc3] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    font-variant-numeric: tabular-nums;
}

.occupancy-rate[b-8avmvflgc3] {
    font-size: 0.875rem;
    font-weight: 800;
    color: #344767;
    font-variant-numeric: tabular-nums;
}

.seats-for-sale[b-8avmvflgc3] {
    font-size: 0.75rem;
    color: #67748e;
    white-space: nowrap;
}

.occupancy-track[b-8avmvflgc3] {
    display: block;
    height: 6px;
    border-radius: 3px;
    background-color: #eef0f4;
    overflow: hidden;
}

.occupancy-bar[b-8avmvflgc3] {
    display: block;
    height: 100%;
    border-radius: 3px;
}

.occupancy-high[b-8avmvflgc3] {
    background-color: var(--occupancy-high);
}

.occupancy-medium[b-8avmvflgc3] {
    background-color: var(--occupancy-medium);
}

.occupancy-low[b-8avmvflgc3] {
    background-color: var(--occupancy-low);
}

.occupancy-detail[b-8avmvflgc3] {
    flex-direction: row;
    align-items: center;
    gap: 0.625rem;
}

.occupancy-detail .occupancy-track[b-8avmvflgc3] {
    flex: 1;
    height: 4px;
    border-radius: 2px;
}

.occupancy-detail .occupancy-rate[b-8avmvflgc3] {
    width: 2.5rem;
    text-align: right;
    font-size: 0.75rem;
    font-weight: 700;
}

.occupancy-unknown[b-8avmvflgc3] {
    color: #adb5bd;
}
/* /Features/Reports/HoldsReport/HoldsReportPage.razor.rz.scp.css */
.filter-field[b-fkyiu12is9] {
    flex: 1 1 200px;
    max-width: 250px;
}

.holds-table[b-fkyiu12is9] {
    width: 100%;
    table-layout: auto;
}

.comment-cell-td[b-fkyiu12is9] {
    width: 100%;
    max-width: 0;
}

.comment-cell[b-fkyiu12is9] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Features/Reports/InvitationsReport/InvitationsReportPage.razor.rz.scp.css */
.filter-field[b-7rpjykq2w8] {
    flex: 1 1 200px;
    max-width: 250px;
}

.haveMorePages[b-7rpjykq2w8] {
    border-width: 0px !important;
    pointer-events: none;
}
/* /Features/Reports/SalesSummaryV2/SalesSummaryV2Page.razor.rz.scp.css */
/* ── KPI strip ──────────────────────────────────────────────────── */

.kpi-strip[b-8su6lnjcky] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    padding: 18px 24px;
    border-top: 1px solid #f0f2f5;
    border-bottom: 1px solid #f0f2f5;
}

.kpi[b-8su6lnjcky] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.kpi + .kpi[b-8su6lnjcky] {
    border-left: 1px solid #f0f2f5;
    padding-left: 24px;
}

.kpi-label[b-8su6lnjcky] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #8392ab;
    text-transform: uppercase;
}

.kpi-value[b-8su6lnjcky] {
    font-size: 1.25rem;
    font-weight: 800;
    color: #344767;
    font-variant-numeric: tabular-nums;
}

.kpi-meta[b-8su6lnjcky] {
    font-size: 0.75rem;
    color: #67748e;
}

/* ── Grid table ─────────────────────────────────────────────────── */

/* One column per sales channel makes the table wider than the card on small screens; it scrolls
   sideways instead of squeezing the columns. --grid-columns and --grid-min-width come from the component. */
.sales-table[b-8su6lnjcky] {
    overflow-x: auto;
}

.grid-row[b-8su6lnjcky] {
    display: grid;
    grid-template-columns: var(--grid-columns);
    align-items: center;
    min-width: var(--grid-min-width);
    padding: 13px 24px;
}

.header-row[b-8su6lnjcky] {
    padding: 12px 24px 8px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #8392ab;
    text-transform: uppercase;
}

.channel-heading[b-8su6lnjcky] {
    text-align: center;
    border-left: 1px solid #f0f2f5;
}

/* ── Show row ───────────────────────────────────────────────────── */

/* Matches the rows' min-width so the top border and the grey performances band still span the full
   table when it is scrolled sideways, instead of stopping at the visible edge. */
.show-block[b-8su6lnjcky] {
    border-top: 1px solid #f0f2f5;
    min-width: var(--grid-min-width);
}

.show-row[b-8su6lnjcky] {
    cursor: pointer;
}

.show-row:hover[b-8su6lnjcky] {
    background: #fafbfe;
}

.show-name-cell[b-8su6lnjcky] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.chevron[b-8su6lnjcky] {
    width: 14px;
    font-size: 0.6875rem;
    color: #8392ab;
    flex-shrink: 0;
}

.show-name[b-8su6lnjcky] {
    font-size: 0.875rem;
    font-weight: 700;
    color: #344767;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.performance-count[b-8su6lnjcky] {
    font-size: 0.6875rem;
    color: #8392ab;
    background: #f0f2f5;
    border-radius: 999px;
    padding: 2px 9px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ── Value cells (qty left, amount right) ───────────────────────── */

.value-cell[b-8su6lnjcky] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    border-left: 1px solid #f0f2f5;
    padding: 0 4px 0 14px;
}

.value-cell-total[b-8su6lnjcky] {
    padding-right: 0;
}

.value-qty[b-8su6lnjcky] {
    font-size: 0.75rem;
    color: #8392ab;
    font-variant-numeric: tabular-nums;
}

.value-amount[b-8su6lnjcky] {
    font-size: 0.84375rem;
    font-weight: 600;
    color: #344767;
    font-variant-numeric: tabular-nums;
}

.value-cell-total .value-amount[b-8su6lnjcky] {
    font-weight: 700;
}

/* Performance rows sit on the grey band, so their figures step down in weight and contrast. */
.value-cell-performance[b-8su6lnjcky] {
    border-left-color: #eef0f4;
}

.value-cell-performance .value-qty[b-8su6lnjcky] {
    font-size: 0.71875rem;
    color: #a9b4c9;
}

.value-cell-performance .value-amount[b-8su6lnjcky] {
    font-size: 0.78125rem;
    color: #495a7c;
}

.value-cell-performance.value-cell-total .value-amount[b-8su6lnjcky] {
    color: #344767;
}

/* ── Performances (expanded) ────────────────────────────────────── */

.performances[b-8su6lnjcky] {
    background: #f8f9fa;
}

.performance-block[b-8su6lnjcky] {
    border-top: 1px solid #eef0f4;
}

.performance-row[b-8su6lnjcky] {
    padding: 10px 24px 8px;
}

.performance-date[b-8su6lnjcky] {
    font-size: 0.78125rem;
    font-weight: 600;
    color: #67748e;
    padding-left: 24px;
}

/* ── Payment method chips, grouped by point of sale ─────────────── */

.payment-strip[b-8su6lnjcky] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-wrap: wrap;
    padding: 0 24px 10px 48px;
}

.payment-group[b-8su6lnjcky] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-right: 10px;
}

.payment-group-label[b-8su6lnjcky] {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #8392ab;
    text-transform: uppercase;
}

/* Desktop already shows these figures in the channel columns; they only appear on phones. */
.payment-group-online[b-8su6lnjcky],
.payment-group-subtotal[b-8su6lnjcky] {
    display: none;
}

.payment-chip[b-8su6lnjcky] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1px solid #e6e9f0;
    border-radius: 999px;
    padding: 3px 10px;
}

.payment-dot[b-8su6lnjcky] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.payment-name[b-8su6lnjcky] {
    font-size: 0.71875rem;
    color: #67748e;
}

.payment-value[b-8su6lnjcky] {
    font-size: 0.71875rem;
    font-weight: 700;
    color: #344767;
    font-variant-numeric: tabular-nums;
}

/* ── Grand total ────────────────────────────────────────────────── */

.total-row[b-8su6lnjcky] {
    border-top: 2px solid #344767;
    padding: 14px 24px;
}

.total-label[b-8su6lnjcky] {
    font-size: 0.875rem;
    font-weight: 800;
    color: #344767;
    padding-left: 24px;
}

.total-row .value-cell[b-8su6lnjcky] {
    border-left: 0;
}

.total-row .value-amount[b-8su6lnjcky] {
    font-weight: 700;
}

.total-row .value-cell-total .value-amount[b-8su6lnjcky] {
    font-size: 0.875rem;
    font-weight: 800;
}

.footnote[b-8su6lnjcky] {
    margin: 0;
    padding: 10px 24px 16px;
    font-size: 0.6875rem;
    color: #8392ab;
}

/* ── Narrow screens ─────────────────────────────────────────────── */

@media (max-width: 767.98px) {
    /* The channel columns would push the table past the screen. Each row keeps only its total, and the channels show up
       with their subtotals when a show is expanded, at the top of each payment group. */
    .header-row[b-8su6lnjcky] {
        display: none;
    }

    .grid-row[b-8su6lnjcky],
    .show-block[b-8su6lnjcky] {
        min-width: 0;
    }

    .grid-row[b-8su6lnjcky] {
        grid-template-columns: minmax(0, 1fr) auto;
        padding-left: 16px;
        padding-right: 16px;
    }

    .value-cell[b-8su6lnjcky] {
        display: none;
    }

    .value-cell-total[b-8su6lnjcky] {
        display: flex;
        gap: 8px;
        border-left: 0;
        padding: 0 0 0 12px;
    }

    .show-row .value-cell-total .value-qty[b-8su6lnjcky] {
        display: none;
    }

    /* One payment method per line. nowrap matters: a wrapping column stretches its items to the widest name instead of
       the strip's width. */
    .payment-strip[b-8su6lnjcky] {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 10px;
        padding: 0 16px 12px 40px;
    }

    .payment-group[b-8su6lnjcky] {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 6px;
        margin-right: 0;
    }

    .payment-group-label[b-8su6lnjcky] {
        display: flex;
        justify-content: space-between;
        gap: 12px;
    }

    .payment-group-subtotal[b-8su6lnjcky] {
        display: inline;
        letter-spacing: 0;
        text-transform: none;
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

    .payment-chip[b-8su6lnjcky] {
        display: flex;
        border-radius: 8px;
        padding: 6px 10px;
    }

    .payment-name[b-8su6lnjcky] {
        flex: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .payment-value[b-8su6lnjcky] {
        white-space: nowrap;
    }
}
/* /Features/Reports/Settlements/SettlementsPage.razor.rz.scp.css */
/* ── Filters, on the dark header band ───────────────────────────── */

.settlement-filters[b-8mflze0e7z] {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.settlement-filter-field[b-8mflze0e7z] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 380px;
    max-width: 100%;
}

.settlement-filter-label[b-8mflze0e7z] {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
}

/* The picker's own min-width would push it past the band's padding on phones. */
.settlement-filter-field[b-8mflze0e7z]  .show-picker {
    min-width: 0;
}

.settlement-filter-field[b-8mflze0e7z]  .show-picker-input {
    height: 42px;
    padding-left: 14px;
    font-size: 0.875rem;
}

.settlement-generate[b-8mflze0e7z] {
    height: 42px;
    padding: 0 24px;
    font-size: 0.875rem;
}

/* ── Report body ────────────────────────────────────────────────── */

.settlement-body[b-8mflze0e7z] {
    display: flex;
    flex-direction: column;
    gap: 36px;
    padding: 32px 36px 36px;
}

.settlement-eyebrow[b-8mflze0e7z] {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #5a6a85;
}

/* ── Show and performances ──────────────────────────────────────── */

.settlement-heading[b-8mflze0e7z] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    flex-wrap: wrap;
}

.settlement-heading-block[b-8mflze0e7z] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.settlement-heading-performances[b-8mflze0e7z] {
    align-items: flex-end;
}

.settlement-show-name[b-8mflze0e7z] {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #344767;
}

.performance-chips[b-8mflze0e7z] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.performance-chip[b-8mflze0e7z] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border: 1px solid #e3e7ef;
    border-radius: 999px;
    font-size: 0.8125rem;
    color: #344767;
    white-space: nowrap;
}

.performance-chip-dot[b-8mflze0e7z] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #5e72e4;
    flex-shrink: 0;
}

/* ── Transfers ──────────────────────────────────────────────────── */

.transfer-summary[b-8mflze0e7z] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.transfer-cards[b-8mflze0e7z] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
}

.transfer-card[b-8mflze0e7z] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 20px 24px;
    background: #f6f8fc;
    border: 1px solid #e6eaf2;
    border-radius: 10px;
}

.transfer-card-header[b-8mflze0e7z] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.transfer-card-label[b-8mflze0e7z] {
    font-size: 0.875rem;
    color: #525f7f;
}

.transfer-direction[b-8mflze0e7z] {
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 0.6875rem;
    font-weight: 600;
    white-space: nowrap;
}

.transfer-direction-to-theater[b-8mflze0e7z] {
    background: #e4e8fc;
    color: #3247c9;
}

.transfer-direction-to-aplausos[b-8mflze0e7z] {
    background: #e9ecf2;
    color: #475369;
}

.transfer-card-amount[b-8mflze0e7z] {
    font-size: 1.875rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #344767;
    font-variant-numeric: tabular-nums;
}

.transfer-card-detail[b-8mflze0e7z] {
    font-size: 0.8125rem;
    color: #5a6a85;
}

.net-balance[b-8mflze0e7z] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 12px 24px;
    border-radius: 8px;
    background: #eef0fd;
    font-size: 0.875rem;
    color: #344767;
}

.net-balance strong[b-8mflze0e7z] {
    font-weight: 600;
}

.net-balance-amount[b-8mflze0e7z] {
    font-size: 1rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.settlement-excluded-note[b-8mflze0e7z] {
    margin: 0;
    font-size: 0.75rem;
    color: #5a6a85;
}

/* ── Breakdown sections ─────────────────────────────────────────── */

.settlement-section[b-8mflze0e7z] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.settlement-section-header[b-8mflze0e7z] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    flex-wrap: wrap;
}

.settlement-section-title[b-8mflze0e7z] {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 600;
    color: #344767;
}

.settlement-section-totals[b-8mflze0e7z] {
    font-size: 0.8125rem;
    color: #5a6a85;
    font-variant-numeric: tabular-nums;
}

.settlement-empty[b-8mflze0e7z] {
    margin: 0;
    font-size: 0.875rem;
    color: #5a6a85;
}

/* Separate borders so the tinted header and total rows can have rounded ends. */
.settlement-table[b-8mflze0e7z] {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.875rem;
    color: #525f7f;
    font-variant-numeric: tabular-nums;
}

.settlement-table-theater[b-8mflze0e7z] {
    min-width: 560px;
}

.settlement-table-aplausos[b-8mflze0e7z] {
    min-width: 760px;
}

.settlement-table th[b-8mflze0e7z] {
    padding: 10px 16px;
    background: #f6f8fc;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #5a6a85;
}

.settlement-table td[b-8mflze0e7z] {
    padding: 12px 16px;
    border-bottom: 1px solid #eef0f4;
}

.settlement-table th:first-child[b-8mflze0e7z],
.settlement-table tfoot td:first-child[b-8mflze0e7z] {
    border-radius: 6px 0 0 6px;
}

.settlement-table th:last-child[b-8mflze0e7z],
.settlement-table tfoot td:last-child[b-8mflze0e7z] {
    border-radius: 0 6px 6px 0;
}

/* The transparent top border opens a gap between the last row and the total; padding-box keeps the tint off it. */
.settlement-table tfoot td[b-8mflze0e7z] {
    padding: 14px 16px;
    border-top: 6px solid transparent;
    border-bottom: 0;
    background: #f6f8fc;
    background-clip: padding-box;
    font-weight: 700;
    color: #344767;
}

.cell-name[b-8mflze0e7z] {
    font-weight: 500;
    color: #344767;
}

.cell-strong[b-8mflze0e7z] {
    color: #344767;
}

.cell-not-applicable[b-8mflze0e7z] {
    color: #a3adbf;
}

/* Commission category rows hang under their payment method row, joined to it by an elbow line. */
.settlement-table tr:has(+ .breakdown-row) td[b-8mflze0e7z],
.breakdown-row:has(+ .breakdown-row) td[b-8mflze0e7z] {
    border-bottom-color: transparent;
}

.breakdown-row td[b-8mflze0e7z] {
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 0.8125rem;
    color: #67748e;
}

.settlement-table td.cell-breakdown-name[b-8mflze0e7z] {
    position: relative;
    padding-left: 40px;
}

.cell-breakdown-name[b-8mflze0e7z]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 22px;
    width: 10px;
    height: 50%;
    border-left: 1px solid #c9d1df;
    border-bottom: 1px solid #c9d1df;
}

.settlement-table-theater .col-unit[b-8mflze0e7z] {
    width: 18%;
}

.settlement-table-theater .col-tickets[b-8mflze0e7z] {
    width: 14%;
}

.settlement-table-theater .col-service-charge[b-8mflze0e7z] {
    width: 20%;
}

.settlement-table-aplausos .col-tickets[b-8mflze0e7z] {
    width: 11%;
}

.settlement-table-aplausos .col-collected[b-8mflze0e7z] {
    width: 18%;
}

.settlement-table-aplausos .col-charged[b-8mflze0e7z] {
    width: 16%;
}

.settlement-table-aplausos .col-cost-percentage[b-8mflze0e7z] {
    width: 11%;
}

.settlement-table-aplausos .col-cost-amount[b-8mflze0e7z] {
    width: 15%;
}

/* ── Narrow screens ─────────────────────────────────────────────── */

@media (max-width: 767.98px) {
    .settlement-body[b-8mflze0e7z] {
        gap: 28px;
        padding: 20px 16px 24px;
    }

    .settlement-heading-performances[b-8mflze0e7z] {
        align-items: flex-start;
    }

    .performance-chips[b-8mflze0e7z] {
        justify-content: flex-start;
    }

    .settlement-show-name[b-8mflze0e7z] {
        font-size: 1.375rem;
    }

    .transfer-cards[b-8mflze0e7z] {
        grid-template-columns: minmax(0, 1fr);
    }

    .transfer-card[b-8mflze0e7z] {
        padding: 16px 18px;
    }

    .transfer-card-amount[b-8mflze0e7z] {
        font-size: 1.5rem;
    }

    .net-balance[b-8mflze0e7z] {
        padding: 12px 18px;
    }

    /* The tables turn into cards (table-mobile-cards in custom.css); these scoped rules outrank that global class. */
    .settlement-table[b-8mflze0e7z] {
        min-width: 0;
    }

    .settlement-table td[b-8mflze0e7z] {
        border-bottom: 0;
    }

    .settlement-table tfoot td[b-8mflze0e7z] {
        border-top: 0;
        background: none;
    }

    .breakdown-row[b-8mflze0e7z] {
        margin-left: 1.25rem;
        background-color: #f8f9fc !important;
    }

    .cell-breakdown-name[b-8mflze0e7z]::before {
        content: none;
    }
}
/* /Features/Reports/ShowSales/ShowSalesPage.razor.rz.scp.css */
.master-detail[b-10cuz17e51] {
    display: flex;
    border-top: 1px solid #f0f2f5;
}

.master-detail-refreshing[b-10cuz17e51] {
    opacity: 0.6;
    pointer-events: none;
}

/* ── Master: agenda of shows grouped by month ───────────────────── */

.shows-list[b-10cuz17e51] {
    width: 380px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #f0f2f5;
}

.month-nav[b-10cuz17e51] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 16px;
    border-bottom: 1px solid #f0f2f5;
}

.month-chip[b-10cuz17e51] {
    padding: 2px 10px;
    border: 1px solid #e3e8ef;
    border-radius: 999px;
    background: #fff;
    color: #67748e;
    font-size: 0.71875rem;
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
}

.month-chip:hover[b-10cuz17e51] {
    border-color: #cdd4e1;
    color: #344767;
}

.month-chip:focus-visible[b-10cuz17e51] {
    outline: 2px solid #5e72e4;
    outline-offset: 2px;
}

/* Darker than the Argon primary so the white label keeps an AA contrast at this size. */
.month-chip-active[b-10cuz17e51],
.month-chip-active:hover[b-10cuz17e51] {
    border-color: #4353c4;
    background: #4353c4;
    color: #fff;
}

/* Scrolls on its own so the detail stays in view; positioned so each group's offsetTop is relative to it. */
.agenda[b-10cuz17e51] {
    position: relative;
    max-height: max(22.5rem, calc(100vh - 22.5rem));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #d3d9e3 transparent;
}

.agenda-group-header[b-10cuz17e51] {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 20px;
    border-bottom: 1px solid #f0f2f5;
    background: #f8f9fa;
    color: #67748e;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.agenda-group-count[b-10cuz17e51] {
    color: #8392ab;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.show-item[b-10cuz17e51] {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: 13px 20px 13px 17px;
    border-left: 3px solid transparent;
    border-bottom: 1px solid #f0f2f5;
    cursor: pointer;
}

.show-item:hover[b-10cuz17e51] {
    background: #f6f8ff;
}

.show-item-selected[b-10cuz17e51] {
    border-left-color: #5e72e4;
    background: #f6f8ff;
}

.date-badge[b-10cuz17e51] {
    overflow: hidden;
    border: 1px solid #e3e8ef;
    border-radius: 8px;
    background: #fff;
    text-align: center;
}

.date-badge-weekday[b-10cuz17e51] {
    display: block;
    padding: 2px 0 1px;
    background: #eff1fc;
    color: #4353c4;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.date-badge-day[b-10cuz17e51] {
    display: block;
    padding: 1px 0 3px;
    color: #344767;
    font-size: 1.0625rem;
    font-weight: 800;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
}

.date-badge-past .date-badge-weekday[b-10cuz17e51] {
    background: #edf0f5;
    color: #5a6a85;
}

.date-badge-past .date-badge-day[b-10cuz17e51] {
    color: #5a6a85;
}

.show-item-body[b-10cuz17e51] {
    min-width: 0;
}

.show-item-line[b-10cuz17e51] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
}

.show-item-line + .show-item-line[b-10cuz17e51] {
    margin-top: 2px;
}

.show-item-name[b-10cuz17e51] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #344767;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.show-item-amount[b-10cuz17e51] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #344767;
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
}

.show-item-no-sales .show-item-amount[b-10cuz17e51] {
    color: #8392ab;
    font-weight: 600;
}

.show-item-meta[b-10cuz17e51] {
    font-size: 0.6875rem;
    color: #8392ab;
}

.no-sales-pill[b-10cuz17e51] {
    flex-shrink: 0;
    padding: 0 8px;
    border-radius: 999px;
    background: #edf0f5;
    color: #5a6a85;
    font-size: 0.65625rem;
    font-weight: 700;
}

.channel-bar[b-10cuz17e51] {
    height: 4px;
    border-radius: 2px;
    background: #edf0f5;
    margin-top: 8px;
    overflow: hidden;
}

.channel-bar-online[b-10cuz17e51] {
    height: 100%;
    background: #5e72e4;
}

.channel-legend[b-10cuz17e51] {
    margin-top: auto;
    padding: 12px 20px;
    border-top: 1px solid #f0f2f5;
    display: flex;
    gap: 14px;
    align-items: center;
    font-size: 0.6875rem;
    color: #8392ab;
}

.channel-legend-item[b-10cuz17e51] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.legend-swatch[b-10cuz17e51] {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    display: inline-block;
}

.legend-swatch-online[b-10cuz17e51] {
    background: #5e72e4;
}

.legend-swatch-box-office[b-10cuz17e51] {
    background: #edf0f5;
    border: 1px solid #d9dee8;
}

/* ── Detail: selected show ──────────────────────────────────────── */

.show-detail[b-10cuz17e51] {
    flex: 1;
    padding: 26px 30px;
    min-width: 0;
}

.show-detail-header[b-10cuz17e51] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.show-detail-name[b-10cuz17e51] {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 800;
    color: #344767;
}

.show-detail-date[b-10cuz17e51] {
    margin: 4px 0 0;
    font-size: 0.8125rem;
    color: #67748e;
}

.channel-cards[b-10cuz17e51] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.channel-card[b-10cuz17e51] {
    border: 1px solid #f0f2f5;
    border-radius: 10px;
    padding: 14px 16px;
}

.channel-card-total[b-10cuz17e51] {
    background: #f8f9fa;
}

.channel-card-label[b-10cuz17e51] {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #8392ab;
    text-transform: uppercase;
}

.channel-card-amount[b-10cuz17e51] {
    margin-top: 2px;
    font-size: 1.25rem;
    font-weight: 800;
    color: #344767;
    font-variant-numeric: tabular-nums;
}

.channel-card-tickets[b-10cuz17e51] {
    font-size: 0.75rem;
    color: #67748e;
}

.no-sales-note[b-10cuz17e51] {
    margin: 24px 0 0;
    padding: 18px 20px;
    border: 1px dashed #e3e8ef;
    border-radius: 10px;
    font-size: 0.8125rem;
    color: #67748e;
}

/* ── Payment methods with proportion bars ───────────────────────── */

.payment-methods-header[b-10cuz17e51] {
    margin-top: 26px;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    color: #8392ab;
    text-transform: uppercase;
}

.payment-methods[b-10cuz17e51] {
    margin-top: 8px;
}

.payment-method-row[b-10cuz17e51] {
    display: grid;
    grid-template-columns: minmax(140px, 200px) minmax(60px, 1fr) 70px 110px;
    align-items: center;
    gap: 14px;
    padding: 9px 0;
    border-bottom: 1px solid #f6f7fa;
}

.payment-method-name[b-10cuz17e51] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    color: #344767;
    min-width: 0;
}

.payment-method-dot[b-10cuz17e51] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.payment-method-name-text[b-10cuz17e51] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.payment-method-bar[b-10cuz17e51] {
    display: block;
    height: 8px;
    border-radius: 4px;
    background: #edf0f5;
    overflow: hidden;
}

.payment-method-bar-fill[b-10cuz17e51] {
    display: block;
    height: 100%;
    border-radius: 4px;
}

.payment-method-qty[b-10cuz17e51] {
    font-size: 0.75rem;
    color: #8392ab;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.payment-method-amount[b-10cuz17e51] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #344767;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* ── Per-performance sections (shows with more than one) ────────── */

.performance-section[b-10cuz17e51] {
    margin-top: 26px;
    padding-top: 4px;
}

.performance-section + .performance-section[b-10cuz17e51] {
    border-top: 1px solid #f0f2f5;
}

.performance-section .payment-methods-header[b-10cuz17e51] {
    margin-top: 14px;
}

.performance-header[b-10cuz17e51] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}

.performance-date[b-10cuz17e51] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #344767;
}

.performance-channel-totals[b-10cuz17e51] {
    display: inline-flex;
    gap: 18px;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: #67748e;
}

.performance-channel strong[b-10cuz17e51] {
    color: #344767;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.online-note[b-10cuz17e51] {
    margin: 18px 0 0;
    font-size: 0.6875rem;
    color: #8392ab;
}

/* ── Responsive: stack the panes on narrow screens ──────────────── */

@media (max-width: 991.98px) {
    .master-detail[b-10cuz17e51] {
        flex-direction: column;
    }

    .shows-list[b-10cuz17e51] {
        width: 100%;
        border-right: 0;
        border-bottom: 1px solid #f0f2f5;
    }

    .agenda[b-10cuz17e51] {
        max-height: 26rem;
    }

    .show-detail[b-10cuz17e51] {
        padding: 20px;
    }

    .payment-method-row[b-10cuz17e51] {
        grid-template-columns: minmax(110px, 160px) minmax(40px, 1fr) 55px 95px;
        gap: 10px;
    }
}
/* /Features/Shows/BankPromotions/Manage/BankPromotionFormPage.razor.rz.scp.css */
/* On ultrawide monitors the two cards would stretch across the whole screen */
.bank-promotion-form[b-p6z78kzhs0] {
    max-width: 1320px;
}
/* /Features/Shows/BankPromotions/Summary/BankPromotionsSummary.razor.rz.scp.css */
/* Reads as plain text; the dotted underline is the only hint that it opens, as "N libres" on the performance dashboard. */
.bank-promotions-toggle[b-jnajhe0a7a] {
    background: none;
    border: 0;
    border-bottom: 1px dotted currentColor;
    padding: 0;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.bank-promotions-toggle .fa-chevron-down[b-jnajhe0a7a] {
    font-size: 0.65em;
}

.bank-promotions-icon[b-jnajhe0a7a] {
    width: 2rem;
    height: 2rem;
}

.bank-promotions-icon i[b-jnajhe0a7a] {
    top: 0;
    font-size: 0.8rem;
}

/* Wide enough for a name and its badge on one line. */
.bank-promotions-menu[b-jnajhe0a7a] {
    min-width: 20rem;
    white-space: normal;
}

/* Argon animates every dropdown from 992px: its hide animation starts fully opaque, so the closed menu flashed on each load,
   and its transform overrides Popper, which then cannot keep the menu on screen. Same recipe as FreeSeatsBreakdown. */
.bank-promotions-menu[b-jnajhe0a7a],
.bank-promotions-menu.show[b-jnajhe0a7a] {
    animation: none;
    transition: opacity 0.15s ease;
}

/* custom.css pushes every dropdown 40px down with !important; once Blazor scopes this selector it matches that specificity. */
.dropdown > .bank-promotions-menu[b-jnajhe0a7a] {
    margin-top: 0 !important;
}

.bank-promotions-row + .bank-promotions-row[b-jnajhe0a7a] {
    border-top: 1px solid #e9ecef;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
}
/* /Features/Shows/Create/CreateShow.razor.rz.scp.css */
/* Progress bar. It renders as the top of the step card: rounded only above, and the panel below squares its own top corners */
.multisteps-form__progress[b-t85hr7ut5n] {
    background-color: white;
    border-radius: 15px 15px 0 0;
    padding: 14px 20px 10px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    border-bottom: 1px solid #e9ecef;
    box-shadow: 0 0 2rem 0 rgba(136, 152, 170, 0.15); /* matches .card, otherwise the seam looks narrower than the panel */
}

.multisteps-form__panel[b-t85hr7ut5n] {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

/* The step title competes with the progress bar for the fold on 768px-tall screens */
.multisteps-form__panel h5[b-t85hr7ut5n] {
    font-size: 1rem;
    margin-bottom: 0.25rem;
}

/* The sector name and its price share one row, so the input needs a fixed width instead of the input-group default of 100% */
.sector-price-input[b-t85hr7ut5n] {
    flex: 0 0 130px;
    width: 130px;
}

/* Both heights are reserved up front: the price feedback appears as the user types, and h-100 would push the
   whole row down at that moment. Reserving costs nothing once every price is loaded, which is the end state */
.sector-row[b-t85hr7ut5n] {
    min-height: 2rem;
}

.sector-note[b-t85hr7ut5n] {
    min-height: 2.25rem;
}

/* Argon's .bg-primary ignores --bs-bg-opacity, so bg-opacity-10 painted a solid blue that hid the text.
   These three colors clear WCAG AA against the tint: 5.42:1, 4.87:1 and 8.32:1 */
.sector-selected[b-t85hr7ut5n] {
    background-color: #eff1fc;
    border-color: #5e72e4 !important;
}

.sector-price-note[b-t85hr7ut5n] {
    color: #177046;
}

.sector-words-note[b-t85hr7ut5n] {
    color: #5a6a85;
}

/* Hide steps text in small devices*/
@media (max-width: 660px) {
    .multisteps-form__progress-btn span[b-t85hr7ut5n] {
        display: none;
    }
}

/* Points of sale, payment methods, discounts and surcharges: two columns while the column is wide enough for them */
.checkbox-grid[b-t85hr7ut5n] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1rem;
}

@media (max-width: 420px) {
    .checkbox-grid[b-t85hr7ut5n] {
        grid-template-columns: 1fr;
    }
}

/* Fixed height for checkbox labels */
.checkbox-label-fixed-height[b-t85hr7ut5n] {
    min-height: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Prevent user interaction with header steps */
.multisteps-form__progress-btn[b-t85hr7ut5n] {
    pointer-events: none;
    cursor: default;
}

/* Half width keeps the preview from pushing the wizard buttons below the fold; the aspect ratio halves the height too */
.hall-image-preview[b-t85hr7ut5n] {
    aspect-ratio: 4 / 3;
    max-width: 50%;
}

/* The producer picker's list opens downwards (up to 20rem): the step reserves that room so the list stays inside the card */
.producer-step-body[b-t85hr7ut5n] {
    min-height: 22rem;
}
/* /Features/Shows/HallImage/EditShowHallImage.razor.rz.scp.css */
.image-option[b-x81ej323vy] {
    position: relative;
    aspect-ratio: 4 / 3;
    border: 3px solid #dee2e6;
    border-radius: 0.5rem;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

    .image-option:hover[b-x81ej323vy] {
        border-color: #adb5bd;
        transform: scale(1.02);
    }

    .image-option.selected[b-x81ej323vy] {
        border-color: #5e72e4;
        box-shadow: 0 0 0 3px rgba(94, 114, 228, 0.25);
    }

    .image-option img[b-x81ej323vy] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.image-placeholder[b-x81ej323vy] {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #f0f2f5;
}

.selection-indicator[b-x81ej323vy] {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    background-color: #5e72e4;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 12px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
/* /Features/Shows/Performances/ChangePrices/ChangePerformancePrices.razor.rz.scp.css */
/* Remove spinner arrows from number input */
input[type="number"].no-spinner[b-6q344dxgl1]::-webkit-inner-spin-button,
input[type="number"].no-spinner[b-6q344dxgl1]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"].no-spinner[b-6q344dxgl1] {
    -moz-appearance: textfield;
}
/* /Features/Shows/Performances/ManageCapacityReservations/ManageCapacityReservations.razor.rz.scp.css */
.capacity-indicator[b-2gwsn7qapv] {
    width: 10px;
    height: 10px;
}

.capacity-summary[b-2gwsn7qapv] {
    max-width: 250px;
}

.btn-modify[b-2gwsn7qapv] {
    max-width: 150px;
}

/* Form controls do not inherit the page font, so the display-1 class alone would not match the previous heading.
   The width is intrinsic on purpose: a percentage would shrink-to-fit the flex parent and clip the larger numbers */
.held-input[b-2gwsn7qapv] {
    display: block; /* an inline-block input would flow next to its label instead of below it */
    width: 280px;
    margin: 0 auto;
    padding: 0 0.5rem;
    font-family: inherit;
    line-height: 1.2;
    text-align: center;
    color: #344767;
    background-color: transparent;
    border: 1px solid #d2d6da;
    border-radius: 0.5rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.held-input:hover:not(:disabled)[b-2gwsn7qapv] {
    border-color: #8392ab;
}

.held-input:focus[b-2gwsn7qapv] {
    outline: 0;
    border-color: #5e72e4;
    box-shadow: 0 0 0 2px rgba(94, 114, 228, 0.25);
}

.held-input.is-invalid[b-2gwsn7qapv], .held-input.is-invalid:focus[b-2gwsn7qapv] {
    border-color: #ea0606;
    box-shadow: 0 0 0 2px rgba(234, 6, 6, 0.2);
}

.held-input:disabled[b-2gwsn7qapv] {
    opacity: 0.6;
}

@media (max-width: 575.98px) {
    .held-input[b-2gwsn7qapv] {
        width: 180px;
    }
}
/* /Features/Shows/Performances/ManageSections/ManagePerformanceSections.razor.rz.scp.css */
/* Argon applies `white-space: nowrap` to every td and th, so headers like "MARCAR COMO AGOTADO" alone force the table
   wider than its card and trigger a horizontal scrollbar even with room to spare. Only the headers need to wrap —
   the data cells stay on one line so prices and switches never break mid-value. */
.table thead th[b-09058iezwh] {
    white-space: normal;
    padding-left: 1rem;
    padding-right: 1rem;
}

.order-btn[b-09058iezwh] {
    min-width: 30px;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-top: 0;
    margin-bottom: 0;
    aspect-ratio: 1 / 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
/* /Features/Tills/View/ViewTill.razor.rz.scp.css */
.haveMorePages[b-cgjxc4abab] {
    border-width: 0px !important;
    pointer-events: none;
}

/* custom.css gives every .btn a 120px min-width and btn-sm has 2rem side padding, so the four filters overflow on phones */
@media (max-width: 767.98px) {
    .till-filters[b-cgjxc4abab] {
        width: 100%;
    }

    .till-filters > .btn[b-cgjxc4abab] {
        flex: 1 1 0;
        min-width: 0;
        --bs-btn-padding-x: 0.5rem;
    }
}
/* /Features/Users/Create/CreateUser.razor.rz.scp.css */
.btnSend[b-2ijb4mluhb] {
    min-width: 120px;
}
/* /Features/Users/Edit/EditUser.razor.rz.scp.css */
.permission-item[b-vlbh2axza2] {
    position: relative;
}

/* Argon makes the label inline-block, which pushes the icon to its own line when a long label wraps */
.permission-item .form-check-label[b-vlbh2axza2] {
    display: inline;
}

.permission-info[b-vlbh2axza2] {
    margin-left: 0.35rem;
    color: #8392ab;
    font-size: 0.75rem;
    cursor: help;
}

.permission-info:hover[b-vlbh2axza2],
.permission-info:focus[b-vlbh2axza2] {
    color: #344767;
    outline: none;
}

/* Anchored to the whole permission row so the text never overflows the column, even on narrow screens */
.permission-tooltip[b-vlbh2axza2] {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 20;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    background-color: #344767;
    color: #fff;
    font-size: 0.75rem;
    line-height: 1.4;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
}

.permission-info:hover + .permission-tooltip[b-vlbh2axza2],
.permission-info:focus + .permission-tooltip[b-vlbh2axza2] {
    display: block;
}
/* /Layout/Notifications.razor.rz.scp.css */
.alert[b-q9e7bk4gr3] {
    position: fixed;
    bottom: 20px;
    right: 20px;
    min-width: 250px;
    z-index: 1050;
    opacity: 1;
    transition: opacity 0.5s ease-out;
    width: 300px;
}

.alert.fade-out[b-q9e7bk4gr3] {
    opacity: 0;
}

.alert-text[b-q9e7bk4gr3]{
    margin-left: 10px;
}
