/*
 * Lightweight form and filter layer for LTE.
 * It changes spacing and neutral surfaces without changing form behavior.
 */
body {
    --lte-control-bg: #fff;
    --lte-control-bg-soft: #f7f9fb;
    --lte-control-bg-hover: #eef3f7;
    --lte-control-text: #26313a;
    --lte-control-muted: #73808b;
    --lte-control-border: #d8e0e6;
    --lte-control-border-strong: #bac7d1;
    --lte-control-accent: var(--primary, #3867d6);
    --lte-control-accent-strong: #2952b4;
    --lte-control-accent-soft: rgba(56, 103, 214, .12);
    --lte-control-focus: rgba(56, 103, 214, .18);
    --lte-control-shadow: 0 .5rem 1.5rem rgba(31, 45, 56, .08);
}

body.dark-mode {
    --lte-control-bg: var(--lte-surface-raised);
    --lte-control-bg-soft: var(--lte-surface);
    --lte-control-bg-hover: var(--lte-surface-hover);
    --lte-control-text: var(--lte-text);
    --lte-control-muted: var(--lte-text-muted);
    --lte-control-border: var(--lte-border);
    --lte-control-border-strong: var(--lte-border-strong);
    --lte-control-accent: var(--lte-accent);
    --lte-control-accent-strong: var(--lte-accent);
    --lte-control-accent-soft: var(--lte-accent-soft);
    --lte-control-focus: var(--lte-focus);
    --lte-control-shadow: var(--lte-shadow);
}

form .without-tabs fieldset,
.form-tabs > .tab-content,
.icms-filter-container {
    border: 1px solid var(--lte-control-border) !important;
    border-radius: .75rem;
    background: var(--lte-control-bg-soft) !important;
    color: var(--lte-control-text);
}

form .without-tabs fieldset {
    padding: 1rem 1rem .25rem;
    margin-bottom: 1.25rem;
}

form .without-tabs fieldset legend {
    width: auto;
    max-width: calc(100% - 1.5rem);
    margin: 0 0 .25rem;
    padding: 0 .65rem;
    overflow: hidden;
    color: var(--lte-control-text);
    font-size: 1.05rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.form-group,
form .field {
    margin-bottom: 1rem;
}

.form-group > label,
form .field > label,
.col-form-label {
    margin-bottom: .4rem;
    color: var(--lte-control-text);
    font-weight: 600;
}

.form-text,
.field_hint,
.hint,
.help-block {
    color: var(--lte-control-muted) !important;
    line-height: 1.45;
}

.form-control,
.custom-select,
.custom-file-label,
.input-group-text,
.select2-container--default .select2-selection,
.select2-container--bootstrap4 .select2-selection {
    min-height: 2.5rem;
    border-color: var(--lte-control-border-strong);
    border-radius: .5rem;
    background-color: var(--lte-control-bg);
    color: var(--lte-control-text);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

textarea.form-control {
    min-height: 7rem;
    line-height: 1.5;
}

.form-control:hover:not(:disabled):not([readonly]),
.custom-select:hover:not(:disabled),
.select2-container--default .select2-selection:hover,
.select2-container--bootstrap4 .select2-selection:hover {
    border-color: var(--lte-control-accent);
}

.form-control:focus,
.custom-select:focus,
.custom-file-input:focus ~ .custom-file-label,
.select2-container--focus .select2-selection,
.select2-container--open .select2-selection {
    border-color: var(--lte-control-accent) !important;
    background-color: var(--lte-control-bg) !important;
    color: var(--lte-control-text) !important;
    box-shadow: 0 0 0 .2rem var(--lte-control-focus) !important;
}

.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child),
.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child),
.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.custom-control-label::before {
    border-color: var(--lte-control-border-strong);
    background-color: var(--lte-control-bg);
}

.custom-control-input:focus ~ .custom-control-label::before {
    border-color: var(--lte-control-accent);
    box-shadow: 0 0 0 .2rem var(--lte-control-focus);
}

.select2-dropdown {
    overflow: hidden;
    border-color: var(--lte-control-border-strong) !important;
    border-radius: .6rem !important;
    background: var(--lte-control-bg) !important;
    color: var(--lte-control-text);
    box-shadow: var(--lte-control-shadow);
}

.select2-search--dropdown {
    padding: .6rem;
}

.select2-search--dropdown .select2-search__field {
    min-height: 2.25rem;
    border-color: var(--lte-control-border-strong) !important;
    border-radius: .45rem;
    background: var(--lte-control-bg) !important;
    color: var(--lte-control-text) !important;
}

.select2-results__option {
    padding: .55rem .75rem;
    color: var(--lte-control-text);
}

.select2-results__option[aria-selected="true"] {
    background: var(--lte-control-bg-hover) !important;
}

.select2-results__option--highlighted[aria-selected] {
    background: var(--lte-control-accent) !important;
    color: #fff !important;
}

.icms-filter-panel {
    color: var(--lte-control-text);
}

.icms-filter-panel .icms-filter-link__open {
    min-height: 2.75rem;
    border: 1px solid var(--lte-control-border);
    border-radius: .65rem;
    background: var(--lte-control-bg-soft);
    color: var(--lte-control-text);
    font-weight: 600;
}

.icms-filter-panel .icms-filter-link__open:hover,
.icms-filter-panel .icms-filter-link__open:focus {
    border-color: var(--lte-control-border-strong);
    background: var(--lte-control-bg-hover);
    color: var(--lte-control-text);
}

.icms-filter-container {
    padding: 1rem !important;
    box-shadow: none;
}

.icms-filter-container .row {
    margin-right: -.5rem;
    margin-left: -.5rem;
}

.icms-filter-container .row > [class*="col-"] {
    padding-right: .5rem;
    padding-left: .5rem;
}

.icms-filter-container .icms-filter-link__close {
    top: .6rem;
    right: .65rem;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    color: var(--lte-control-muted);
    line-height: 1;
    opacity: 1;
}

.icms-filter-container .icms-filter-link__close:hover {
    background: var(--lte-control-bg-hover);
    color: var(--lte-control-text);
}

.table .filter td,
.table .filter th {
    border-color: var(--lte-control-border);
    background: var(--lte-control-bg-soft);
}

.table .filter .form-control,
.table .filter .custom-select {
    min-height: 2.15rem;
    padding-top: .3rem;
    padding-bottom: .3rem;
    font-size: .875rem;
}

.redactor_box,
.redactor-box {
    overflow: hidden;
    border: 1px solid var(--lte-control-border-strong);
    border-radius: .65rem;
    background: var(--lte-control-bg);
}

.redactor_toolbar,
.redactor-toolbar {
    border-bottom: 1px solid var(--lte-control-border) !important;
    background: var(--lte-control-bg) !important;
}

.redactor_editor,
.redactor-in {
    min-height: 12rem;
    border: 0 !important;
    background: var(--lte-control-bg) !important;
    color: var(--lte-control-text) !important;
}

/* Profile referral and actions stay in the avatar column. */
.lte-profile-referral {
    overflow: hidden;
    border-color: var(--lte-control-border);
    border-radius: .65rem;
    background: var(--lte-control-bg);
    color: var(--lte-control-text);
    box-shadow: none;
}

.lte-profile-referral__title {
    gap: .45rem;
    color: var(--lte-control-accent);
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.35;
}

.lte-profile-referral__title:hover,
.lte-profile-referral__title:focus {
    color: var(--lte-control-accent-strong);
    text-decoration: none;
}

.lte-profile-referral .form-control {
    min-width: 0;
    padding-right: .55rem;
    padding-left: .55rem;
    font-size: .75rem;
}

.lte-profile-referral__copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    border-color: var(--lte-control-border-strong);
    color: var(--lte-control-muted);
}

.lte-profile-referral__copy:hover,
.lte-profile-referral__copy:focus,
.lte-profile-referral__copy.is-copied {
    border-color: var(--lte-control-accent);
    background: var(--lte-control-accent-soft);
    color: var(--lte-control-accent-strong);
}

.lte-profile-referral__status:empty {
    display: none;
}

.profile-actions-toolbar .cp_toolbar {
    margin: 0 !important;
    padding: .35rem !important;
    border: 1px solid var(--lte-control-border);
    border-radius: .65rem !important;
    background: var(--lte-control-bg-soft) !important;
}

.profile-actions-toolbar .cp_toolbar > .nav {
    width: 100%;
    flex-direction: column;
}

.profile-actions-toolbar .cp_toolbar .nav-item {
    width: 100%;
}

.profile-actions-toolbar .cp_toolbar .nav-link {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    padding: .55rem .65rem;
    border-radius: .45rem;
    color: var(--lte-control-text);
}

.profile-actions-toolbar .cp_toolbar .nav-link:hover,
.profile-actions-toolbar .cp_toolbar .nav-link:focus,
.profile-actions-toolbar .cp_toolbar .nav-link.active {
    background: var(--lte-control-bg-hover);
    color: var(--lte-control-accent-strong);
}

.profile-actions-toolbar .cp_toolbar .nav-link .counter {
    margin-left: auto;
}

.profile-actions-toolbar .cp_toolbar .dropdown-menu {
    position: static !important;
    width: 100%;
    margin: .2rem 0 0;
}

@media (max-width: 767.98px) {
    form .without-tabs fieldset,
    .icms-filter-container {
        padding: .85rem .75rem .15rem !important;
        border-radius: .6rem;
    }

    .icms-filter-container .btn {
        width: 100%;
        margin: .25rem 0 !important;
    }

    .form-tabs .nav-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .form-tabs .nav-tabs::-webkit-scrollbar {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .form-control,
    .custom-select,
    .select2-selection {
        transition: none;
    }
}
