/* Card layout wrapper */
:deep(.el-card) {
    background-color: var(--lm-bg-primary) !important;
    border: 1px solid var(--lm-border) !important;
    border-radius: 6px !important;
    box-shadow: var(--lm-shadow) !important;
    transition:
        border-color 150ms ease,
        box-shadow 150ms ease;
}

:deep(.el-card__header) {
    border-bottom: 1px solid var(--lm-border) !important;
    padding: 12px 20px !important;
    background-color: var(--lm-bg-primary) !important;
}

/* Custom Overrides for Input & Selects */
:deep(.el-input__wrapper),
:deep(.el-select__wrapper),
:deep(.el-textarea__inner),
:global(.lm-dialog .el-input__wrapper),
:global(.lm-dialog .el-select__wrapper),
:global(.lm-dialog .el-textarea__inner) {
    background-color: var(--lm-bg-secondary) !important;
    border: 1px solid var(--lm-border) !important;
    box-shadow: none !important;
    border-radius: 4px !important;
    padding: 4px 12px !important;
    color: var(--lm-text-primary) !important;
    min-height: 34px !important;
    box-sizing: border-box !important;
    transition:
        border-color 150ms ease,
        background-color 150ms ease;
}

:deep(.el-textarea__inner) {
    resize: none !important;
}

:deep(.el-input__wrapper:hover),
:deep(.el-select__wrapper:hover),
:deep(.el-input__wrapper.is-focus),
:deep(.el-select__wrapper.is-focused),
:deep(.el-textarea__inner:hover),
:deep(.el-textarea__inner:focus),
:global(.lm-dialog .el-input__wrapper:hover),
:global(.lm-dialog .el-select__wrapper:hover),
:global(.lm-dialog .el-textarea__inner:hover),
:global(.lm-dialog .el-input__wrapper.is-focus),
:global(.lm-dialog .el-select__wrapper.is-focused),
:global(.lm-dialog .el-textarea__inner:focus) {
    border-color: var(--lm-border-hover) !important;
    background-color: var(--lm-bg-primary) !important;
}

:deep(.el-input__inner),
:deep(.el-select__placeholder),
:deep(.el-textarea__inner),
:global(.lm-dialog .el-input__inner),
:global(.lm-dialog .el-textarea__inner) {
    color: var(--lm-text-primary) !important;
    font-family: var(--lm-font-sans);
    font-size: 13px !important;
}

:deep(.el-input__inner::placeholder),
:deep(.el-select__placeholder.is-transparent),
:deep(.el-textarea__inner::placeholder),
:global(.lm-dialog .el-input__inner::placeholder) {
    color: var(--lm-text-tertiary) !important;
}

:deep(.el-select),
:deep(.el-input) {
    width: 100% !important;
}

/* Dialog & Dropdown Theme Sync (Fixes transparent dropdown backgrounds) */
:global(.lm-select-popper.lm-theme-light),
:global(.lm-select-popper.lm-theme-light .el-select-dropdown),
:global(.lm-select-popper.lm-theme-light .el-select-dropdown__wrap),
:global(.lm-select-popper.lm-theme-light .el-select-dropdown__list) {
    background-color: #ffffff !important;
    border: 1px solid #e9ecef !important;
    color: #212529 !important;
}

:global(.lm-select-popper.lm-theme-dark),
:global(.lm-select-popper.lm-theme-dark .el-select-dropdown),
:global(.lm-select-popper.lm-theme-dark .el-select-dropdown__wrap),
:global(.lm-select-popper.lm-theme-dark .el-select-dropdown__list) {
    background-color: #18181b !important;
    border: 1px solid #27272a !important;
    color: #f4f4f5 !important;
}

:global(.lm-select-popper .el-select-dropdown__item) {
    color: var(--lm-text-secondary) !important;
}

:global(.lm-select-popper .el-select-dropdown__item.is-hovering),
:global(.lm-select-popper .el-select-dropdown__item:hover) {
    background-color: var(--lm-bg-hover) !important;
    color: var(--lm-text-primary) !important;
}

:global(.lm-select-popper .el-select-dropdown__item.is-selected) {
    color: var(--lm-primary) !important;
    background-color: var(--lm-primary-light) !important;
    font-weight: bold;
}

/* Button overrides */
:deep(.el-button),
:global(.lm-dialog .el-button) {
    margin: 0 !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    font-family: var(--lm-font-sans);
    padding: 8px 16px !important;
    font-size: 13px !important;
    transition: all 150ms ease !important;
    box-shadow: none !important;
}

:deep(.el-button--default),
:global(.lm-dialog .el-button--default) {
    background-color: var(--lm-bg-primary) !important;
    border: 1px solid var(--lm-border) !important;
    color: var(--lm-text-secondary) !important;
}

:deep(.el-button--default:hover),
:global(.lm-dialog .el-button--default:hover) {
    background-color: var(--lm-bg-hover) !important;
    color: var(--lm-text-primary) !important;
    border-color: var(--lm-border-hover) !important;
}

:deep(.el-button--primary),
:global(.lm-dialog .el-button--primary) {
    background-color: var(--lm-primary) !important;
    border: 1px solid var(--lm-primary) !important;
    color: #ffffff !important;
}

:deep(.el-button--primary:hover),
:global(.lm-dialog .el-button--primary:hover) {
    background-color: var(--lm-primary-hover) !important;
    border-color: var(--lm-primary-hover) !important;
    color: #ffffff !important;
}

:deep(.el-button--danger),
:global(.lm-dialog .el-button--danger) {
    background-color: var(--lm-danger) !important;
    border: 1px solid var(--lm-danger) !important;
    color: #ffffff !important;
}

:deep(.el-button--danger.is-plain) {
    background-color: var(--lm-bg-primary) !important;
    border: 1px solid var(--lm-border) !important;
    color: var(--lm-text-secondary) !important;
}

:deep(.el-button--danger.is-plain:hover) {
    background-color: var(--lm-danger) !important;
    border-color: var(--lm-danger) !important;
    color: #ffffff !important;
}

:deep(.el-button.is-disabled),
:global(.lm-dialog .el-button.is-disabled) {
    background-color: var(--lm-bg-secondary) !important;
    border-color: var(--lm-border) !important;
    color: var(--lm-text-tertiary) !important;
    opacity: 0.6;
}

/* Dialog layout styling */
:global(.lm-dialog) {
    border-radius: 6px !important;
    overflow: hidden;
    box-shadow: var(--lm-shadow) !important;
    background-color: var(--lm-bg-primary) !important;
}

:global(.lm-dialog .el-dialog__header) {
    border-bottom: 1px solid var(--lm-border) !important;
    padding: 16px 20px !important;
    margin-right: 0 !important;
    background-color: var(--lm-bg-primary) !important;
}

:global(.lm-dialog .el-dialog__title) {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--lm-text-primary) !important;
    font-family: var(--lm-font-sans);
}

:global(.lm-dialog .el-dialog__body) {
    padding: 20px !important;
    background-color: var(--lm-bg-primary) !important;
    color: var(--lm-text-primary) !important;
}

:global(.lm-dialog .el-dialog__footer) {
    border-top: 1px solid var(--lm-border) !important;
    padding: 12px 20px !important;
    background-color: var(--lm-bg-secondary) !important;
}

:global(.lm-dialog-overlay) {
    background-color: rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(1px);
}

/* Form items in Dialogs */
:global(.lm-dialog .el-form-item) {
    margin-bottom: 16px !important;
}

:global(.lm-dialog .el-form-item__label) {
    color: var(--lm-text-secondary) !important;
    font-size: 13px !important;
}
