/* Compact validation notice shown at the top-right throughout the system. */
.swal2-popup.madar-validation-toast {
    width: min(440px, calc(100vw - 24px)) !important;
    padding: 14px 16px !important;
    border: 1px solid #f1b8b3;
    border-radius: 12px !important;
    text-align: start;
    box-shadow: 0 14px 38px rgba(40, 25, 25, 0.18) !important;
}

.madar-validation-toast .swal2-title {
    margin: 0;
    padding: 0 0 4px;
    font-size: 14px;
    text-align: start;
}

.madar-validation-toast .swal2-html-container {
    margin: 0;
    font-size: 11px;
    text-align: start;
}

.madar-validation-toast .madar-swal-errors {
    max-height: 150px;
    margin: 3px 0 0;
    padding-inline-start: 18px;
    overflow-y: auto;
}

html[data-theme='dark'] .swal2-popup.madar-validation-toast {
    color: #ffd4d0;
    border-color: #7d3732;
    background: #341916;
}

/* Unified icon-search fields used by evaluations, questions, roles and profile. */
.app-shell
    :where(
        .evaluation-search > div,
        .question-filters .input-with-icon,
        .profile-permission-search,
        .role-permission-search
    ) {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-width: 0;
    min-height: var(--control-height);
    padding-inline: 12px;
    overflow: hidden;
    color: var(--control-placeholder);
    border: 1px solid var(--control-border);
    border-radius: var(--control-radius);
    background: var(--control-bg);
}

.app-shell
    :where(
        .evaluation-search > div,
        .question-filters .input-with-icon,
        .profile-permission-search,
        .role-permission-search
    )
    > i {
    position: static;
    inset: auto;
    flex: 0 0 auto;
    transform: none;
    color: var(--control-placeholder);
    pointer-events: none;
}

.app-shell
    :where(
        .evaluation-search > div,
        .question-filters .input-with-icon,
        .profile-permission-search,
        .role-permission-search
    )
    > input:not([type='checkbox']):not([type='radio']) {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    min-height: calc(var(--control-height) - 2px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.app-shell
    :where(
        .evaluation-search > div,
        .question-filters .input-with-icon,
        .profile-permission-search,
        .role-permission-search
    ):focus-within {
    border-color: var(--control-focus);
    box-shadow: 0 0 0 3px var(--control-focus-ring);
}

/* Override the legacy focused-input rule: icon searches have one outer border only. */
#pageHost
    :where(
        .evaluation-search > div,
        .question-filters .input-with-icon,
        .profile-permission-search,
        .role-permission-search
    )
    > input,
#pageHost
    :where(
        .evaluation-search > div,
        .question-filters .input-with-icon,
        .profile-permission-search,
        .role-permission-search
    )
    > input:focus,
#modalHost
    :where(
        .evaluation-search > div,
        .question-filters .input-with-icon,
        .profile-permission-search,
        .role-permission-search
    )
    > input,
#modalHost
    :where(
        .evaluation-search > div,
        .question-filters .input-with-icon,
        .profile-permission-search,
        .role-permission-search
    )
    > input:focus {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Evaluation search has older high-specificity input styling; neutralize it explicitly. */
#pageHost .evaluation-filters label.evaluation-search > div > input#evaluationSearch,
#pageHost .evaluation-filters label.evaluation-search > div > input#evaluationSearch:hover,
#pageHost .evaluation-filters label.evaluation-search > div > input#evaluationSearch:focus,
#pageHost .evaluation-filters label.evaluation-search > div > input#evaluationSearch:focus-visible {
    -webkit-appearance: none;
    appearance: none;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Runtime marker covers every direct search-icon/input pair, including future pages. */
#pageHost .system-icon-search,
#modalHost .system-icon-search {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-width: 0;
    min-height: var(--control-height);
    padding-inline: 12px;
    overflow: hidden;
    color: var(--control-placeholder);
    border: 1px solid var(--control-border);
    border-radius: var(--control-radius);
    background: var(--control-bg);
}

#pageHost .system-icon-search > i.bi-search,
#modalHost .system-icon-search > i.bi-search {
    position: static;
    inset: auto;
    flex: 0 0 auto;
    transform: none;
    pointer-events: none;
}

#pageHost .system-icon-search > input,
#pageHost .system-icon-search > input:hover,
#pageHost .system-icon-search > input:focus,
#modalHost .system-icon-search > input,
#modalHost .system-icon-search > input:hover,
#modalHost .system-icon-search > input:focus {
    -webkit-appearance: none;
    appearance: none;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    min-height: calc(var(--control-height) - 2px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#pageHost .system-icon-search:focus-within,
#modalHost .system-icon-search:focus-within {
    border-color: var(--control-focus);
    box-shadow: 0 0 0 3px var(--control-focus-ring);
}
