/* Moved from resources/views/filament/theme/medfix-control-normalization.blade.php */
:root {
    --mf-control-height: 44px;
    --mf-control-radius: 10px;
    --mf-control-border: var(--cmms-border, var(--border, #e2e8f0));
    --mf-control-bg: var(--cmms-surface, var(--bg-card, #fff));
    --mf-control-text: var(--cmms-text, var(--text-1, #0f172a));
    --mf-control-muted: var(--cmms-faint, var(--text-3, #94a3b8));
    --mf-control-accent: var(--cmms-primary, var(--medfix-user-accent, var(--accent, #185fa5)));
}

/* Filament text, date, table-search and native select wrappers. */
.fi-input-wrp {
    min-height: var(--mf-control-height) !important;
    border: 1px solid var(--mf-control-border) !important;
    border-radius: var(--mf-control-radius) !important;
    background: var(--mf-control-bg) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
    overflow: hidden !important;
    transition: border-color 150ms ease, box-shadow 150ms ease !important;
}

.fi-input-wrp:focus-within {
    border-color: var(--mf-control-accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--mf-control-accent) 14%, transparent) !important;
}

.fi-input-wrp .fi-input,
.fi-input-wrp .fi-select-input,
.fi-ta-search-field input {
    min-height: calc(var(--mf-control-height) - 2px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--mf-control-text) !important;
}

.fi-input-wrp .fi-input:focus,
.fi-input-wrp .fi-select-input:focus,
.fi-ta-search-field input:focus {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Choices owns its border; remove the additional Filament wrapper border. */
.fi-input-wrp:has(.choices),
.fi-fo-select:has(.choices) > .fi-input-wrp {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.fi-fo-select .choices,
.medfix-combobox-field .choices {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.fi-fo-select .choices__inner,
.medfix-combobox-field .choices__inner {
    width: 100% !important;
    min-height: var(--mf-control-height) !important;
    padding: 5px 11px !important;
    border: 1px solid var(--mf-control-border) !important;
    border-radius: var(--mf-control-radius) !important;
    background: var(--mf-control-bg) !important;
    color: var(--mf-control-text) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
}

.fi-fo-select .choices.is-focused .choices__inner,
.fi-fo-select .choices.is-open .choices__inner,
.medfix-combobox-field .choices.is-focused .choices__inner,
.medfix-combobox-field .choices.is-open .choices__inner {
    border-color: var(--mf-control-accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--mf-control-accent) 14%, transparent) !important;
}

.fi-fo-select .choices__input,
.medfix-combobox-field .choices__input {
    min-height: 34px !important;
    margin: 0 !important;
    padding: 6px 8px !important;
    border: 0 !important;
    border-radius: 7px !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--mf-control-text) !important;
}

.fi-fo-select .choices__list--dropdown,
.fi-fo-select .choices__list[aria-expanded],
.medfix-combobox-field .choices__list--dropdown,
.medfix-combobox-field .choices__list[aria-expanded] {
    inset-inline: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    margin-top: 6px !important;
    border: 1px solid var(--mf-control-border) !important;
    border-radius: var(--mf-control-radius) !important;
    background: var(--mf-control-bg) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .14) !important;
}

/* Topbar search: one owner for border and focus ring. */
.medfix-search-box {
    height: var(--mf-control-height) !important;
    border: 1px solid var(--medfix-topbar-line, rgba(255, 255, 255, .18)) !important;
    border-radius: var(--mf-control-radius) !important;
    box-shadow: none !important;
}

.medfix-search-box:focus-within {
    border-color: color-mix(in srgb, var(--mf-control-accent) 70%, #fff) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--mf-control-accent) 20%, transparent) !important;
}

.medfix-search-box input,
.medfix-search-box input:focus {
    height: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.medfix-search-panel {
    inset-inline: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    border-radius: var(--mf-control-radius) !important;
}

/* Custom Livewire filter forms use the same contract. */
/* Native custom-page selects own one browser arrow, not a tiled background icon. */
.mf-workspace select:not(.fi-select-input):not(.choices__input):not([multiple]):not([size]) {
    appearance: auto !important;
    -webkit-appearance: auto !important;
    background-image: none !important;
    padding-inline-end: 32px !important;
}

.mf-filter-panel input,
.mf-filter-panel select,
.mf-filter-panel .mf-control {
    width: 100% !important;
    height: var(--mf-control-height) !important;
    min-height: var(--mf-control-height) !important;
    padding-inline: 12px !important;
    border: 1px solid var(--mf-control-border) !important;
    border-radius: var(--mf-control-radius) !important;
    outline: 0 !important;
    background: var(--mf-control-bg) !important;
    color: var(--mf-control-text) !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
    font: inherit !important;
}

.mf-filter-panel input:focus,
.mf-filter-panel select:focus {
    border-color: var(--mf-control-accent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--mf-control-accent) 14%, transparent) !important;
}

.mf-filter-panel button {
    min-height: var(--mf-control-height) !important;
    border-radius: var(--mf-control-radius) !important;
}

/* Tables follow the active document direction; codes can remain isolated LTR. */
html[dir="rtl"] .fi-ta-table th,
html[dir="rtl"] .fi-ta-table td,
html[dir="rtl"] .fi-ta-text,
html[dir="rtl"] .fi-ta-text-item,
html[dir="rtl"] table th,
html[dir="rtl"] table td {
    text-align: right !important;
}

html[dir="ltr"] .fi-ta-table th,
html[dir="ltr"] .fi-ta-table td,
html[dir="ltr"] .fi-ta-text,
html[dir="ltr"] .fi-ta-text-item,
html[dir="ltr"] table th,
html[dir="ltr"] table td {
    text-align: left !important;
}

html[dir="rtl"] .fi-ta-cell > div,
html[dir="rtl"] .fi-ta-header-cell > div {
    justify-content: flex-start !important;
}

/* Keep action columns compact, aligned, and explicitly identified. */
.fi-ta-actions-header-cell,
.fi-ta-actions-cell,
.supplier-list-cell--actions {
    width: 1% !important;
    min-width: 88px !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.fi-ta-actions-header-cell {
    padding-inline: 10px !important;
    color: var(--cmms-muted, #64748b);
    font-size: 11px;
    font-weight: 650;
    text-transform: uppercase;
}

.fi-ta-actions-header-cell:empty::after {
    content: "Actions";
}

html[lang="ar"] .fi-ta-actions-header-cell:empty::after {
    content: "الإجراءات";
}

.fi-ta-actions-cell .fi-ta-actions,
.supplier-list-cell--actions > div {
    justify-content: center !important;
    gap: 6px !important;
}

html[dir="rtl"] .mf-code,
html[dir="rtl"] [data-code],
html[dir="rtl"] bdi {
    direction: ltr;
    unicode-bidi: isolate;
}
