.o_xeno_employee_list_page {
    // .o_xeno_hr_header_actions (shared, leave_hr_app.scss) has no
    // align-items of its own, so its flex children default to "stretch" --
    // fine when they're all naturally the same height, but the "+ New
    // Employee" button wrapping onto two lines (fixed below) stretched
    // every sibling to match, which is also why the search icon (centered
    // on ITS OWN box's height, not the shorter <input> inside it) drifted
    // away from the input's true center. Centering here fixes both.
    .o_xeno_hr_header_actions {
        align-items: center;
    }

    .o_xeno_emp_new_btn,
    .o_xeno_emp_import_btn {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .o_xeno_emp_search_box {
        position: relative;

        .o_xeno_emp_search_icon {
            position: absolute;
            left: 10px;
            top: 50%;
            transform: translateY(-50%);
            color: #9a9a9a;
            font-size: 0.85rem;
        }

        input {
            padding-left: 32px;
            min-width: 240px;
            font-size: 0.88rem;
        }
    }

    .o_xeno_emp_row {
        cursor: pointer;
    }

    .o_xeno_emp_email {
        color: #3b7dec;
        text-decoration: none;
        font-size: 0.85rem;

        &:hover { text-decoration: underline; }
    }

    .o_xeno_emp_inactive_badge {
        display: inline-block;
        margin-left: 6px;
        padding: 1px 8px;
        border-radius: 100px;
        background: #f1f1f1;
        color: #868e96;
        font-size: 0.68rem;
        font-weight: 600;
        vertical-align: middle;
    }
}

// Filter-pill panel: one row per filter dimension (Status/Employee Type/
// Department/Filter by group), each row wraps independently since the
// Department and Group rows can have far more options than fit one line.
.o_xeno_emp_filters {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px 0 18px;
    border-bottom: 1px solid #edf0f2;
    margin-bottom: 16px;
}

.o_xeno_emp_filter_row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.o_xeno_emp_filter_label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #495057;
    margin-right: 4px;
    flex-shrink: 0;
}

.o_xeno_pill_btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    border-radius: 100px;
    border: 1px solid #dee2e6;
    background: #fff;
    color: #495057;
    font-size: 0.78rem;
    line-height: 1.4;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease;

    &:hover:not(.active) {
        background: #f1f3f5;
    }

    &.active {
        background: #21272b;
        border-color: #21272b;
        color: #fff;
    }
}

.o_xeno_pill_btn_dot.active {
    // The dot itself already carries the group's identity color, so the
    // active pill stays light instead of the plain-filter dark fill --
    // recoloring the whole pill to the tag's own color would clash across
    // differently-colored tags sitting in the same row.
    background: #eef1f5;
    border-color: #ced4da;
    color: #21272b;
}

.o_xeno_pill_dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}
