/**
 * Filament list/table chrome for all resource pages.
 * Purple brand tokens (#32104d / #f7f8fa / #e8e7ed).
 */

.fi-page {
    color: #191724;
}

.fi-header-heading,
.fi-wi-widget-heading,
.dark .fi-header-heading {
    color: #191724 !important;
    font-size: 1.85rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.fi-breadcrumbs,
.fi-breadcrumbs a,
.dark .fi-breadcrumbs,
.dark .fi-breadcrumbs a {
    color: #777382 !important;
}

.fi-header-subheading,
.fi-section-header-description {
    color: #777382 !important;
}

.fi-btn-color-primary,
.fi-ac-btn-action.fi-btn-color-primary {
    background-color: #32104d !important;
    border-color: #32104d !important;
    color: #ffffff !important;
    border-radius: 0.8rem;
}

.fi-btn-color-primary:hover {
    background-color: #2a0d40 !important;
    border-color: #2a0d40 !important;
}

.fi-tabs,
.fi-tabs-item,
.boostx-cluster-tabs {
    color: #777382;
}

.boostx-cluster-tabs .fi-tabs-item.fi-active,
.boostx-cluster-tabs .fi-tabs-item[aria-selected="true"],
.fi-page-sub-navigation-tabs .fi-tabs-item.fi-active,
.fi-page-sub-navigation-tabs .fi-tabs-item[aria-selected="true"] {
    background-color: #32104d !important;
    background-image: none !important;
    color: #ffffff !important;
    border-radius: 0.7rem;
}

.boostx-cluster-tabs .fi-tabs-item.fi-active .fi-tabs-item-label,
.boostx-cluster-tabs .fi-tabs-item.fi-active .fi-icon,
.boostx-cluster-tabs .fi-tabs-item.fi-active svg,
.boostx-cluster-tabs .fi-tabs-item[aria-selected="true"] .fi-tabs-item-label,
.boostx-cluster-tabs .fi-tabs-item[aria-selected="true"] svg,
.fi-page-sub-navigation-tabs .fi-tabs-item.fi-active .fi-tabs-item-label,
.fi-page-sub-navigation-tabs .fi-tabs-item.fi-active svg,
.fi-page-sub-navigation-tabs .fi-tabs-item[aria-selected="true"] .fi-tabs-item-label,
.fi-page-sub-navigation-tabs .fi-tabs-item[aria-selected="true"] svg {
    color: #ffffff !important;
}

.fi-ta-ctn,
.dark .fi-ta-ctn {
    overflow: visible;
    border: 1px solid #e8e7ed !important;
    border-radius: 1.25rem;
    background: #ffffff !important;
    box-shadow: 0 8px 24px rgba(20, 20, 20, 0.04);
    color: #191724 !important;
}

.fi-ta-header-toolbar,
.dark .fi-ta-header-toolbar {
    background: #ffffff !important;
    color: #191724 !important;
}

.fi-ta-header-toolbar > div:has(> .fi-ta-search-field) {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    margin-inline-start: 0 !important;
}

.fi-ta-header-toolbar > div:has(> .fi-ta-search-field) > :not(.fi-ta-search-field) {
    order: 1;
    flex-shrink: 0;
}

.fi-ta-header-toolbar .fi-ta-search-field {
    order: 2;
    margin-inline-start: auto !important;
    flex: 0 1 18rem;
    max-width: 18rem;
    width: 100%;
}

.fi-ta-header-toolbar {
    position: relative;
    z-index: auto;
    overflow: visible;
}

.fi-ta-header-toolbar .fi-ta-filters-dropdown {
    display: none !important;
}

.fi-ta-header-toolbar .fi-ta-col-manager-dropdown,
.fi-ta-header-toolbar .fi-dropdown {
    position: relative;
    z-index: 3;
}

.fi-ta-header-toolbar .fi-dropdown-panel {
    z-index: 4 !important;
}

.fi-ta-search .fi-input-wrp,
.fi-ta-search-field .fi-input-wrp,
.dark .fi-ta-search .fi-input-wrp {
    background: #ffffff !important;
    border-color: #e8e7ed !important;
    border-radius: 999px;
    overflow: hidden;
}

.fi-ta-search input,
.fi-input,
.dark .fi-ta-search input,
.dark .fi-input {
    color: #191724 !important;
}

.fi-ta-search input::placeholder,
.fi-input::placeholder {
    color: #777382 !important;
    opacity: 1;
}

.fi-ta-header,
.dark .fi-ta-header {
    background: #f7f8fa !important;
}

.fi-ta-header-cell,
.fi-ta-header-cell-label,
.dark .fi-ta-header-cell,
.dark .fi-ta-header-cell-label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #777382 !important;
    background: #f7f8fa !important;
    border-color: #e8e7ed !important;
}

.fi-ta-row,
.dark .fi-ta-row {
    background: #ffffff !important;
}

.fi-ta-row:hover,
.dark .fi-ta-row:hover {
    background: #f7f8fa !important;
}

.fi-ta-cell,
.fi-ta-text,
.fi-ta-text-item,
.dark .fi-ta-cell,
.dark .fi-ta-text,
.dark .fi-ta-text-item {
    color: #191724 !important;
    border-color: #e8e7ed !important;
}

.fi-ta-empty-state-heading,
.fi-ta-empty-state-description,
.dark .fi-ta-empty-state-heading,
.dark .fi-ta-empty-state-description {
    color: #777382 !important;
}

.fi-pagination,
.fi-pagination-overview,
.dark .fi-pagination,
.dark .fi-pagination-overview {
    color: #777382 !important;
    background: #ffffff !important;
}

.fi-pagination .fi-active,
.fi-pagination-item.fi-active {
    color: #32104d !important;
    background: #f3edf8 !important;
}

.fi-ta-actions .fi-link,
.fi-ta-actions .fi-ac-action,
.fi-ta-actions .fi-btn,
.dark .fi-ta-actions .fi-link,
.dark .fi-ta-actions .fi-ac-action {
    font-weight: 600;
}

/* Table row actions: brand purple (no orange / forest green) */
.fi-ta-actions .fi-color-success,
.fi-ta-actions .fi-color-success .fi-icon,
.fi-ta-actions .fi-color-warning,
.fi-ta-actions .fi-color-warning .fi-icon,
.fi-ta-actions .fi-color-primary,
.fi-ta-actions .fi-color-primary .fi-icon,
.fi-ta-actions .fi-color-info,
.fi-ta-actions .fi-color-info .fi-icon {
    color: #32104d !important;
}

.fi-ta-actions .fi-color-gray,
.fi-ta-actions .fi-color-gray .fi-icon {
    color: #777382 !important;
}

.fi-ta-actions .fi-color-danger,
.fi-ta-actions .fi-color-danger .fi-icon {
    color: #b82638 !important;
}

.fi-badge {
    border-radius: 0.375rem;
    font-weight: 600;
}

.fi-badge.fi-color,
.fi-ta-text .fi-badge,
.bx-status-cell .fi-badge {
    box-shadow: none !important;
}

/*
 * Figma status badges: one purple chip for all statuses
 * (bg #f3edf8 / text #32104d). Cancelled stays soft red.
 */
.bx-status-cell .fi-badge,
.bx-status-new .fi-badge,
.bx-status-pending .fi-badge,
.bx-status-placed .fi-badge,
.bx-status-accepted .fi-badge,
.bx-status-preparing .fi-badge,
.bx-status-cooking .fi-badge,
.bx-status-handover .fi-badge,
.bx-status-ready .fi-badge,
.bx-status-completed .fi-badge,
.bx-status-delivered .fi-badge,
.bx-status-paid .fi-badge,
.bx-status-available .fi-badge,
.bx-status-vacant .fi-badge,
.bx-status-occupied .fi-badge,
.bx-status-reserved .fi-badge,
.bx-status-active .fi-badge,
.bx-status-inactive .fi-badge {
    background-color: #f3edf8 !important;
    color: #32104d !important;
    --text: #32104d;
    --dark-text: #32104d;
}

.bx-status-cancelled .fi-badge,
.bx-status-canceled .fi-badge,
.bx-status-failed .fi-badge,
.bx-status-rejected .fi-badge {
    background-color: #fdecec !important;
    color: #b82638 !important;
    --text: #b82638;
    --dark-text: #b82638;
}

.fi-badge.fi-color-primary,
.fi-badge.fi-color-info,
.fi-badge.fi-color-warning,
.fi-badge.fi-color-success {
    background-color: #f3edf8 !important;
    color: #32104d !important;
    --text: #32104d;
}

.fi-badge.fi-color-danger {
    background-color: #fdecec !important;
    color: #b82638 !important;
    --text: #b82638;
}

.fi-badge.fi-color-gray {
    background-color: #f7f8fa !important;
    color: #777382 !important;
    --text: #777382;
}

.fi-badge .fi-badge-label {
    color: inherit !important;
}

.fi-section,
.fi-fo-component-ctn,
.dark .fi-section {
    background: #ffffff;
    border-color: #e8e7ed;
}

.fi-icon-btn {
    color: #777382;
}

.fi-icon-btn:hover {
    background: color-mix(in srgb, #32104d 10%, #ffffff);
    color: #32104d;
}

.fi-ta-content,
.fi-ta-content-ctn {
    background: #ffffff !important;
}

.fi-dropdown-panel,
.fi-dropdown-list,
.fi-ta-col-manager,
.dark .fi-dropdown-panel,
.dark .fi-dropdown-list {
    background: #ffffff !important;
    color: #191724 !important;
    border-color: #e8e7ed !important;
}

.fi-dropdown-list-item,
.fi-dropdown-list-item-label,
.dark .fi-dropdown-list-item,
.dark .fi-dropdown-list-item-label {
    color: #191724 !important;
}

.fi-dropdown-list-item:hover,
.dark .fi-dropdown-list-item:hover {
    background: #f7f8fa !important;
}

.fi-pagination select,
.dark .fi-pagination select {
    background: #ffffff !important;
    color: #191724 !important;
    border-color: #e8e7ed !important;
}

/* Native <select> only — do not border .fi-select-input (searchable Alpine select root) */
select.fi-select-input {
    background: #ffffff !important;
    color: #191724 !important;
    border-color: #e8e7ed !important;
}

.fi-ta-filters,
.fi-fo-wizard,
.dark .fi-ta-filters {
    background: #ffffff !important;
    color: #191724 !important;
}

.fi-ta-placeholder,
.fi-ta-text-item-description,
.dark .fi-ta-placeholder,
.dark .fi-ta-text-item-description {
    color: #777382 !important;
}

.fi-header-actions .fi-btn,
.fi-header-actions .fi-ac-btn-action,
.fi-header-actions-ctn .fi-btn,
.fi-header-actions-ctn .fi-ac-btn-action,
.bx-header-create {
    border-radius: 0.5rem;
}

/* Staff panels keep a slightly softer header action radius */
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-header-actions .fi-btn,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-header-actions .fi-ac-btn-action,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-header-actions-ctn .fi-btn,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-header-actions-ctn .fi-ac-btn-action,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .bx-header-create {
    border-radius: 0.8rem;
}

.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-header-actions-ctn .fi-btn.fi-color,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-header-actions-ctn .bx-header-create,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-header .bx-header-create,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .bx-header-create.fi-btn {
    --bg: #32104d !important;
    --hover-bg: #2a0d40 !important;
    --text: #ffffff !important;
    --hover-text: #ffffff !important;
    --dark-bg: #32104d !important;
    --dark-text: #ffffff !important;
    --dark-hover-bg: #2a0d40 !important;
    --dark-hover-text: #ffffff !important;
    background-color: #32104d !important;
    color: #ffffff !important;
}

.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-header-actions-ctn .fi-btn.fi-color:hover,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .bx-header-create.fi-btn:hover {
    --bg: #2a0d40 !important;
    background-color: #2a0d40 !important;
    color: #ffffff !important;
}

.fi-header-actions-ctn .fi-btn.fi-color,
.fi-header-actions-ctn .fi-btn.fi-color span,
.fi-header-actions-ctn .fi-btn.fi-color svg,
.bx-header-create,
.bx-header-create span,
.bx-header-create svg {
    color: #ffffff !important;
}

.fi-ta-content,
.fi-ta-content-ctn {
    overflow-x: auto;
}

.fi-ta-header-cell.fi-align-end {
    text-align: center !important;
    justify-content: center !important;
    white-space: nowrap;
}

.fi-ta-cell .fi-ta-actions,
.fi-ta-cell:has(> .fi-ta-actions),
td:has(> .fi-ta-actions) {
    text-align: center !important;
    white-space: nowrap;
}

.fi-ta-cell .fi-ta-actions {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center;
    gap: 0.5rem 0.75rem;
    min-width: max-content;
    width: 100%;
}

/* Modals + filter/column dropdowns */
.fi-modal-close-overlay {
    background: rgba(29, 77, 43, 0.32) !important;
}

.fi-modal-window,
.dark .fi-modal-window {
    background: #ffffff !important;
    color: #191724 !important;
    border: 1px solid #e8e7ed !important;
    box-shadow: 0 18px 48px rgba(20, 20, 20, 0.14);
}

.fi-modal-header,
.fi-modal-content,
.fi-modal-footer,
.dark .fi-modal-header,
.dark .fi-modal-content,
.dark .fi-modal-footer {
    background: #ffffff !important;
    color: #191724 !important;
    border-color: #e8e7ed !important;
}

.fi-modal-heading,
.dark .fi-modal-heading {
    color: #191724 !important;
}

.fi-modal-description,
.dark .fi-modal-description {
    color: #777382 !important;
}

.fi-modal-close-btn {
    color: #777382 !important;
}

.fi-modal-close-btn:hover {
    background: #f3edf8 !important;
    color: #32104d !important;
}

.fi-modal .fi-input-wrp,
.fi-ta-filters .fi-input-wrp,
.fi-ta-col-manager .fi-input-wrp,
.fi-modal .fi-select-input,
.fi-ta-filters .fi-select-input {
    background: #ffffff !important;
    border-color: #e8e7ed !important;
    color: #191724 !important;
}

.fi-modal .fi-fo-field-label,
.fi-ta-filters .fi-fo-field-label,
.fi-ta-filters-heading,
.fi-ta-col-manager .fi-ta-col-manager-heading {
    color: #191724 !important;
}

.fi-ta-filters,
.fi-ta-filters-dropdown .fi-dropdown-panel,
.fi-ta-col-manager-dropdown .fi-dropdown-panel {
    background: #ffffff !important;
    color: #191724 !important;
    border-color: #e8e7ed !important;
}

/* Non-RA panels: same brand purple (no orange / forest green). */
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-ta-filters-apply-action-ctn .fi-btn,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-ta-filters-apply-action-ctn .fi-btn.fi-color,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-modal-footer .fi-btn.fi-color-primary,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-modal-footer .fi-btn.fi-color-success,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-modal-footer .fi-btn.fi-color:not(.fi-color-danger):not(.fi-color-gray):not(.fi-outlined) {
    --bg: #32104d !important;
    --hover-bg: #2a0d40 !important;
    --text: #ffffff !important;
    --hover-text: #ffffff !important;
    --dark-bg: #32104d !important;
    --dark-text: #ffffff !important;
    background-color: #32104d !important;
    color: #ffffff !important;
    border-radius: 0.8rem;
}

.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-ta-filters-apply-action-ctn .fi-btn span,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-ta-filters-apply-action-ctn .fi-btn svg,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-modal-footer .fi-btn.fi-color-primary,
.fi-body:not(.fi-panel-restaurant-admin):not(.fi-panel-branch):not(.fi-panel-super-admin) .fi-modal-footer .fi-btn.fi-color-primary span {
    color: #ffffff !important;
}

.fi-modal-footer .fi-btn.fi-outlined,
.fi-modal-footer .fi-btn.fi-color-gray {
    background: #ffffff !important;
    border-color: #e8e7ed !important;
    color: #191724 !important;
    --text: #191724 !important;
    --bg: #ffffff !important;
}

.fi-modal-footer .fi-btn.fi-color-danger,
.fi-ta-filters .fi-link.fi-color-danger {
    --text: #D32F2F !important;
}

.fi-modal-footer .fi-btn.fi-color-danger:not(.fi-outlined) {
    --bg: #D32F2F !important;
    --text: #ffffff !important;
    background-color: #D32F2F !important;
    color: #ffffff !important;
}

/* RA Support Tickets — hours strip above the table (purple shell) */
.bx-support-hours-banner-wrap,
.bx-support-hours-banner {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.fi-panel-restaurant-admin .bx-support-hours-banner-wrap {
    margin-bottom: 0.75rem;
}

.bx-support-hours-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem 1.25rem;
    overflow: hidden;
    padding: 0.875rem 1.15rem;
    background: var(--bx-surface, #ffffff);
    border: 1px solid var(--bx-border, #e8e7ed);
    border-radius: 0.75rem;
    box-shadow: none;
}

.bx-support-hours-banner__header {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    color: var(--bx-primary, #32104d);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.bx-support-hours-banner__body {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem 1rem;
    padding: 0;
    min-width: 0;
    flex: 1 1 auto;
}

.bx-support-hours-banner__timezone {
    margin: 0;
    color: var(--bx-muted, #777382);
    font-size: 0.8125rem;
}

.bx-support-hours-banner__lines {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--bx-text, #191724);
    font-size: 0.8125rem;
}

.bx-support-hours-banner__lines li + li {
    margin-top: 0;
}

/*
 * Large monitors: use full content width.
 * Filament defaults to fi-width-7xl (~1280px), which leaves empty side gutters.
 */
.fi-main.fi-width-7xl,
.fi-main.fi-width-full {
    max-width: none !important;
    width: 100%;
}
