/* Shared Lunar CRM work-surface styling for every Filament panel. */
:root {
    --lunar-ink: #211a19;
    --lunar-body: #463d3a;
    --lunar-muted: #7c716e;
    --lunar-pane: #fff;
    --lunar-inset: #f8f4f2;
    --lunar-border: #e6dfda;
    --lunar-divider: #eee8e5;
    --lunar-primary: #bc4749;
}

.fi-body { color: var(--lunar-body); font-family: inherit; font-size: .82rem; line-height: 1.5; }
.fi-main { color: var(--lunar-body); }
.fi-header-heading { color: var(--lunar-ink); font-weight: 750; }
.fi-section-header-heading { color: var(--lunar-ink); }
.fi-header { padding-bottom: 0; margin-bottom: 0; }
.fi-page-header-main-ctn { gap: .75rem; padding-block: 2rem 0; }
.fi-page-content { gap: 1rem; }
.fi-page-main { margin-block-start: 0; }
.fi-header-actions-ctn .fi-ac { justify-content: flex-end; gap: .45rem; flex-wrap: wrap; }
.fi-header-actions-ctn :is(.fi-ac-btn-action, .fi-btn, .fi-ac-action) {
    min-height: 2.45rem; border: 1px solid #ded6d2; border-radius: .75rem; background: #fff;
    padding: .45rem .8rem; color: #554a47; font-family: inherit; font-size: .78rem; font-weight: 700;
    box-shadow: none; transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}
.fi-header-actions-ctn :is(.fi-ac-btn-action, .fi-btn, .fi-ac-action):hover { border-color: #bc4749; background: #fcf6f5; color: #963638; }
.fi-header-actions-ctn :is(.fi-ac-btn-action, .fi-btn, .fi-ac-action) .fi-icon { width: .95rem; height: .95rem; color: #bc4749; }
.fi-header-actions-ctn :is(.fi-ac-btn-action, .fi-btn, .fi-ac-action):focus-visible { outline: 2px solid #bc4749; outline-offset: 2px; }
.fi-page { --lunar-pane-radius: 1rem; }
.fi-section, .fi-wi-stats-overview-stat, .fi-ta-ctn, .fi-fo-field-wrp,
.fi-modal-window, .fi-dropdown-panel, .fi-in-entry-wrp {
    border-color: var(--lunar-border);
}
.fi-section, .fi-ta-ctn, .fi-modal-window {
    border-radius: 1rem;
    box-shadow: 0 10px 26px rgb(33 20 20 / .05);
}
.fi-section { background: var(--lunar-pane); }
.fi-section-header { padding: 1rem 1.25rem; }
.fi-section-content { padding: 1rem 1.25rem; }
.fi-section-header-heading { font-size: .95rem; font-weight: 750; }
.fi-section-header-description, .fi-fo-field-wrp-hint { color: var(--lunar-muted); }
.fi-input-wrp, .fi-select-input, .fi-fo-rich-editor, .fi-fo-code-editor,
.fi-fo-textarea, .fi-fo-date-time-picker { border-radius: .65rem; }
.fi-input-wrp:focus-within { border-color: #bc4749; outline: 2px solid #bc4749; outline-offset: 2px; }
/* The searchable Filament select nests its search input inside the options panel.
   Do not clip or restyle its wrapper as though it were a standalone search field. */
.fi-input-wrp:not(.fi-fo-select):has(:is(input[type='search'], input[placeholder*='Search' i])) {
    box-sizing: border-box;
    min-height: 2.65rem;
    border: 1px solid #ded6d2;
    border-radius: .75rem;
    background: #fff;
    box-shadow: none;
    overflow: hidden;
    align-items: center;
}
.fi-input-wrp:not(.fi-fo-select):has(:is(input[type='search'], input[placeholder*='Search' i])) .fi-input-wrp-content-ctn { align-items: center; }
.fi-input-wrp:not(.fi-fo-select):has(:is(input[type='search'], input[placeholder*='Search' i])) :is(input[type='search'], input[placeholder*='Search' i]) {
    border: 0 !important;
    box-sizing: border-box !important;
    align-self: stretch;
    min-height: 0 !important;
    padding-block: 0 !important;
    line-height: 1.5rem !important;
    outline: 0 !important;
    box-shadow: none !important;
}
.fi-input-wrp:not(.fi-fo-select):has(:is(input[type='search'], input[placeholder*='Search' i])):hover { border-color: #bc4749; }
.fi-input-wrp:not(.fi-fo-select):has(:is(input[type='search'], input[placeholder*='Search' i])):focus-within {
    border-color: #bc4749;
    background: #fdf0f0;
    box-shadow: none;
    outline: 0;
}
.fi-input-wrp:not(.fi-fo-select):has(:is(input[type='search'], input[placeholder*='Search' i])) .fi-icon { color: #bc4749; }
.fi-body :is(input[type='search'], input[placeholder*='Search' i]) {
    color: #554a47 !important;
    font-family: inherit !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
}
.fi-body :is(input[type='search'], input[placeholder*='Search' i])::placeholder { color: #7c716e !important; font-weight: 500 !important; opacity: 1; }
.fi-body :is(input[type='search'], input[placeholder*='Search' i]) {
    border: 1px solid #ded6d2 !important;
    border-radius: .75rem !important;
    background-color: #fff !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    outline: 0 !important;
    line-height: 1.5rem !important;
    padding-block: .55rem !important;
}
.fi-body .fi-input-wrp :is(input[type='search'], input[placeholder*='Search' i]) {
    border: 0 !important;
    border-radius: inherit !important;
    min-height: 0 !important;
    padding-block: 0 !important;
}
.fi-body :is(input[type='search'], input[placeholder*='Search' i]):focus {
    border-color: #bc4749 !important;
    outline: 0 !important;
    background-color: #fdf0f0 !important;
    box-shadow: none !important;
}
.fi-body .fi-input-wrp :is(input[type='search'], input[placeholder*='Search' i]):focus { border-color: transparent !important; }
.fi-fo-field-wrp-label { color: var(--lunar-body); font-size: .75rem; font-weight: 700; }
.fi-btn { min-height: 2.75rem; border-radius: .7rem; font-family: inherit; font-size: .78rem !important; font-weight: 700 !important; }
.fi-btn.fi-size-sm { min-height: 2.45rem; font-size: .78rem !important; }
.fi-btn:not(.fi-color-danger):not(.fi-color-warning) { background-color: #fff !important; color: #554a47 !important; }
.fi-btn:not(.fi-color-danger):not(.fi-color-warning):hover:not(.fi-disabled):not([disabled]) { background-color: #fcf6f5 !important; color: #963638 !important; }
.fi-btn:not(.fi-color-danger):not(.fi-color-warning) .fi-icon { color: #bc4749 !important; }
.fi-btn:not(.fi-color-danger):not(.fi-color-warning):hover .fi-icon { color: #963638 !important; }
.fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action) {
    color: #554a47 !important;
    font-family: inherit !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
}
.fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action):not(:disabled):not(.fi-disabled) {
    background-color: #fff !important;
}
.fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action) :is(svg, .fi-icon) { color: #bc4749 !important; }
.fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action):hover:not(:disabled):not(.fi-disabled) {
    background-color: #fcf6f5 !important;
    color: #963638 !important;
}
.fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action):hover:not(:disabled):not(.fi-disabled) :is(svg, .fi-icon) { color: #963638 !important; }
.fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action):active:not(:disabled):not(.fi-disabled),
.fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action)[aria-pressed='true'],
.fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action)[aria-selected='true']:not(.task-shift-tab) {
    border-color: #bc4749 !important;
    background-color: #fdf0f0 !important;
    color: #963638 !important;
    box-shadow: inset 0 0 0 1px #bc4749 !important;
}
.fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action):is(:active, [aria-pressed='true'], [aria-selected='true']) :is(svg, .fi-icon) { color: #963638 !important; }
.fi-body :is(.fi-btn, button, a.billing-action):disabled,
.fi-body :is(.fi-btn, button, a.billing-action).fi-disabled { color: #aaa19f !important; cursor: not-allowed; }
.fi-body button[role='tab'].task-shift-tab[aria-selected='true'] { background: #fff !important; color: #322725 !important; box-shadow: none !important; }
.fi-body button[role='tab'].task-shift-tab[aria-selected='true'] .task-shift-count { color: #554a47 !important; }
.fi-body input[type='checkbox'], .fi-body input[type='radio'] { accent-color: #bc4749; }
.fi-body .member-waiver .choice:has(input:checked), .fi-body .pos-checkout-method:has(input:checked) {
    border-color: #bc4749 !important;
    background: #fdf0f0 !important;
    color: #963638 !important;
    box-shadow: inset 0 0 0 1px #bc4749 !important;
}
.fi-body :is(button, .fi-btn, a.billing-action):focus-visible { outline: 2px solid #bc4749; outline-offset: 2px; }
.fi-badge { border-radius: .65rem; font-weight: 650; }
.fi-ta-header-cell { background: var(--lunar-inset); color: var(--lunar-muted); }
.fi-ta-cell { color: var(--lunar-body); font-size: .82rem; line-height: 1.5; }
.fi-ta-row:not(:last-child) { border-bottom-color: var(--lunar-divider); }
.fi-pagination, .fi-ta-summary { color: var(--lunar-muted); }
.fi-sidebar { border-inline-end: 1px solid var(--lunar-border); }
.fi-sidebar-item-btn { border-radius: .7rem; }
.fi-sidebar-item-label { font-size: .82rem; }
.fi-sidebar-item-active > .fi-sidebar-item-btn { background: #fdf0f0; color: #963638; }
.fi-sidebar-group-label { color: var(--lunar-muted); }
.fi-topbar { border-bottom: 1px solid var(--lunar-border); }
:where(button, a, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--lunar-primary);
    outline-offset: 2px;
}
.dark {
    --lunar-ink: #f2eae8;
    --lunar-body: #d2c6c3;
    --lunar-muted: #b9aeab;
    --lunar-pane: #211d1d;
    --lunar-inset: #342d2c;
    --lunar-border: #413837;
    --lunar-divider: #413837;
}
.dark .fi-section, .dark .fi-ta-ctn, .dark .fi-modal-window { background: var(--lunar-pane); }
.dark .fi-sidebar-item-active > .fi-sidebar-item-btn { background: #432a2a; color: #f1c0be; }
.dark .fi-input-wrp:focus-within { border-color: #bc7778; outline: 2px solid #bc7778; outline-offset: 2px; }
.dark .fi-input-wrp:has(:is(input[type='search'], input[placeholder*='Search' i])) { border-color: #584b49; background: #211d1d; }
.dark .fi-input-wrp:has(:is(input[type='search'], input[placeholder*='Search' i])):hover { border-color: #bc7778; }
.dark .fi-input-wrp:has(:is(input[type='search'], input[placeholder*='Search' i])):focus-within { border-color: #bc7778; background: #342d2c; box-shadow: none; outline: 0; }
.dark .fi-input-wrp:has(:is(input[type='search'], input[placeholder*='Search' i])) .fi-icon { color: #bc7778; }
.dark .fi-body :is(input[type='search'], input[placeholder*='Search' i]) { color: #ede5e3 !important; }
.dark .fi-body :is(input[type='search'], input[placeholder*='Search' i])::placeholder { color: #b9aeab !important; }
.dark .fi-body :is(input[type='search'], input[placeholder*='Search' i]) { border-color: #584b49 !important; background-color: #211d1d !important; }
.dark .fi-body :is(input[type='search'], input[placeholder*='Search' i]):focus { border-color: #bc7778 !important; outline: 0 !important; background-color: #342d2c !important; box-shadow: none !important; }
.dark .fi-body .fi-input-wrp :is(input[type='search'], input[placeholder*='Search' i]):focus { border-color: transparent !important; }
.dark .fi-header-actions-ctn :is(.fi-ac-btn-action, .fi-btn, .fi-ac-action) { border-color: #584b49; background: #211d1d; color: #ede5e3; }
.dark .fi-header-actions-ctn :is(.fi-ac-btn-action, .fi-btn, .fi-ac-action):hover { border-color: #bc7778; background: #342d2c; color: #f4c9c8; }
.dark .fi-header-actions-ctn :is(.fi-ac-btn-action, .fi-btn, .fi-ac-action) .fi-icon { color: #bc7778; }
.dark .fi-btn:not(.fi-color-danger):not(.fi-color-warning) { background-color: #211d1d !important; color: #ede5e3 !important; }
.dark .fi-btn:not(.fi-color-danger):not(.fi-color-warning):hover:not(.fi-disabled):not([disabled]) { background-color: #342d2c !important; color: #f4c9c8 !important; }
.dark .fi-btn:not(.fi-color-danger):not(.fi-color-warning) .fi-icon { color: #bc7778 !important; }
.dark .fi-btn:not(.fi-color-danger):not(.fi-color-warning):hover .fi-icon { color: #f4c9c8 !important; }
.dark .fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action):not(:disabled):not(.fi-disabled) { background-color: #211d1d !important; }
.dark .fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action) { color: #ede5e3 !important; }
.dark .fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action) :is(svg, .fi-icon) { color: #bc7778 !important; }
.dark .fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action):hover:not(:disabled):not(.fi-disabled) { background-color: #342d2c !important; color: #f4c9c8 !important; }
.dark .fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action):hover:not(:disabled):not(.fi-disabled) :is(svg, .fi-icon) { color: #f4c9c8 !important; }
.dark .fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action):active:not(:disabled):not(.fi-disabled),
.dark .fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action)[aria-pressed='true'],
.dark .fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action)[aria-selected='true']:not(.task-shift-tab) { border-color: #bc7778 !important; background-color: #432a2a !important; color: #f1c0be !important; box-shadow: inset 0 0 0 1px #bc7778 !important; }
.dark .fi-body :is(.fi-btn:not(.fi-color-danger):not(.fi-color-warning), button:not(.task-card):not(.pos-product):not(.task-overlay-backdrop):not(.fi-color-danger):not(.fi-color-warning), a.billing-action):is(:active, [aria-pressed='true'], [aria-selected='true']) :is(svg, .fi-icon) { color: #f1c0be !important; }
.dark .fi-body button[role='tab'].task-shift-tab[aria-selected='true'] { background: #211d1d !important; color: #f2eae8 !important; box-shadow: none !important; }
.dark .fi-body button[role='tab'].task-shift-tab[aria-selected='true'] .task-shift-count { color: #d2c6c3 !important; }
.dark .fi-body .member-waiver .choice:has(input:checked), .dark .fi-body .pos-checkout-method:has(input:checked) { border-color: #bc7778 !important; background: #432a2a !important; color: #f1c0be !important; box-shadow: inset 0 0 0 1px #bc7778 !important; }
.dark .fi-body :is(button, .fi-btn, a.billing-action):focus-visible { outline-color: #bc7778; }
@media (max-width: 640px) {
    .fi-section-header, .fi-section-content { padding-inline: 1rem; }
    .fi-page-content { gap: 1rem; }
    .fi-header-actions-ctn { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
