.att-multi { position: relative; width: 100%; }
.att-multi.is-open { z-index: 40; }
.att-multi-btn {
    display: flex; align-items: stretch; width: 100%; min-height: 38px;
    border: 1px solid #d1d5db; border-radius: 0.5rem; background: #fff;
}
.att-multi-open {
    flex: 1; min-width: 0; display: flex; align-items: center;
    padding: 0.4rem 0.35rem 0.4rem 0.75rem; border: 0; background: transparent;
    font: inherit; font-size: 0.875rem; text-align: left; cursor: pointer; color: inherit;
}
.att-multi-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.att-multi-reset {
    flex: none; width: 34px; border: 0; background: transparent; color: #6b7280; cursor: pointer;
}
.att-multi-reset:hover { color: #b42318; background: #fdecea; }
.att-multi-pop {
    position: absolute; z-index: 40; top: calc(100% + 4px); left: 0; right: 0; width: auto;
    box-sizing: border-box; background: #fff; border: 1px solid #e4e7f0; border-radius: 0.5rem;
    box-shadow: 0 18px 40px rgba(28, 40, 80, 0.16); padding: 6px;
}
.att-multi-pop[hidden] { display: none; }
.att-multi.is-wide .att-multi-pop { right: auto; width: max(100%, 320px); }
.att-multi-search {
    width: 100%; margin: 0 0 6px; padding: 0.45rem 0.7rem; border: 1px solid #d1d5db;
    border-radius: 0.5rem; font: inherit; font-size: 0.875rem; box-sizing: border-box;
}
.att-multi-list { max-height: 260px; overflow: auto; }
.att-multi-row { position: relative; display: flex; align-items: center; border-radius: 0.35rem; }
.att-multi-row.is-hidden { display: none; }
.att-multi-row:hover { background: #f4f6fb; }
.att-multi-row label {
    display: flex; align-items: flex-start; gap: 8px; flex: 1; min-width: 0; margin: 0;
    padding: 6px 8px; cursor: pointer; font-size: 0.875rem; font-weight: 500; text-transform: none;
    letter-spacing: 0;
}
.att-multi-row input { width: auto; margin: 3px 0 0; accent-color: #2563eb; cursor: pointer; }
.att-multi-name { flex: 1; min-width: 0; white-space: normal; line-height: 1.3; }
.att-multi-only {
    display: none; position: absolute; z-index: 1; right: 6px; top: 50%; transform: translateY(-50%);
    margin: 0; padding: 2px 8px; border: 1px solid #d5e0fb; border-radius: 0.35rem; background: #fff;
    font: inherit; font-size: 12px; font-weight: 650; color: #2436b0; cursor: pointer;
}
.att-multi-row:hover .att-multi-only { display: block; }
select.att-multi-source { display: none !important; }
