.phonebook-targeting {
    --pb-accent: #6958dc;
    --pb-ink: #243047;
    --pb-muted: #7a869c;
    direction: rtl;
    overflow: hidden;
    border: 1px solid #e4e7f2;
    border-radius: 20px;
    background: var(--mud-palette-surface, #fff);
    box-shadow: 0 6px 24px rgba(35, 46, 87, .045);
}
.phonebook-targeting__hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px;
    border-bottom: 1px solid #ececf7;
    background: radial-gradient(ellipse at 100% 0%, #eeeaff 0, transparent 65%), linear-gradient(110deg, #f0fdfa, #faf9ff 70%);
}
.phonebook-targeting__heading { display: flex; gap: 12px; align-items: center; }
.phonebook-targeting__hero-icon {
    display: flex; align-items: center; justify-content: center; flex: 0 0 48px;
    width: 48px; height: 48px; border-radius: 16px; background: #fff; color: var(--pb-accent);
    box-shadow: 0 4px 12px rgba(105, 88, 220, .09); border: 1px solid #e8e1ff;
}
.phonebook-targeting h3 { margin: 0 0 5px; font-size: 1rem; font-weight: 800; color: var(--pb-ink); }
.phonebook-targeting__heading p { margin: 0; font-size: .73rem; color: #69778d; line-height: 1.9; }
.phonebook-targeting__stats { display: grid; grid-template-columns: repeat(3, minmax(100px, 1fr)); gap: 8px; }
.phonebook-targeting__stats > div { padding: 10px 14px; border: 1px solid rgba(220, 224, 240, .8); border-radius: 13px; background: rgba(255,255,255,.85); }
.phonebook-targeting__stats strong { display: block; color: var(--pb-ink); font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.phonebook-targeting__stats span { display: block; color: var(--pb-muted); font-size: .66rem; margin-top: 2px; }
.phonebook-targeting__stats .is-accent { background: #f0edff; border-color: #d8d0ff; }
.phonebook-targeting__stats .is-accent strong { color: #5c46ce; }
.phonebook-targeting__range-panel { margin: 16px 18px 0; padding: 12px 16px; border: 1px solid #e7e9f3; border-radius: 14px; background: #fbfcfe; transition: background .2s, border-color .2s; }
.phonebook-targeting__range-panel.is-active { background: #f8f6ff; border-color: #d9d0ff; }
.phonebook-targeting__range-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.phonebook-targeting__range-title { display: flex; align-items: center; gap: 10px; }
.phonebook-targeting__range-title strong { color: var(--pb-ink); font-size: .78rem; }
.phonebook-targeting__range-title p { color: var(--pb-muted); font-size: .68rem; margin: 3px 0 0; }
.phonebook-targeting__global-fields { display: grid; grid-template-columns: 150px 150px 1fr; align-items: center; gap: 14px; padding-top: 10px; }
.phonebook-targeting__global-note { display: flex; gap: 6px; align-items: flex-start; color: #7868a9; font-size: .7rem; line-height: 1.9; }
.phonebook-targeting__global-note .mud-icon-root { flex-shrink: 0; margin-top: 3px; }
.phonebook-targeting__toolbar { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; justify-content: space-between; padding: 12px 18px; }
.phonebook-targeting__search { flex: 1 1 300px; max-width: 500px; }
.phonebook-targeting__actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.phonebook-targeting__grid { box-shadow: none !important; border-top: 1px solid #eceef6; border-radius: 0 !important; }
.phonebook-targeting__grid .mud-table-container { width: 100% !important; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #c9c3eb #f8f9fc; }
.phonebook-targeting__grid .mud-drop-container { min-width: 860px; }
.phonebook-targeting__grid .mud-table-root { min-width: 860px; width: 100% !important; }
.phonebook-targeting__grid th { background: #f8f9fe !important; color: #66758d !important; font-size: .72rem !important; white-space: nowrap; padding: 12px 10px; border-bottom: 1px solid #e6e9f5; }
.phonebook-targeting__grid td { padding: 8px 10px; border-bottom-color: #eff1f7; }
.phonebook-targeting__row { transition: background-color .15s; }
.phonebook-targeting__row.is-selected td { background: #f6f4ff; }
.phonebook-targeting__row.is-selected td:first-child { box-shadow: inset -3px 0 var(--pb-accent); }
.phonebook-targeting__row:hover td { background: #f1f3fb; }
.phonebook-targeting__group { display: flex; align-items: center; gap: 10px; min-width: 190px; }
.phonebook-targeting__group-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 34px; height: 34px; border-radius: 11px; background: #efecff; color: var(--pb-accent); }
.phonebook-targeting__group strong { display: block; color: var(--pb-ink); font-size: .77rem; font-weight: 700; }
.phonebook-targeting__group small { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; max-width: 260px; font-size: .65rem; color: var(--pb-muted); margin-top: 3px; }
.phonebook-targeting__type { display: inline-flex; white-space: nowrap; border-radius: 8px; padding: 3px 8px; font-size: .65rem; font-weight: 700; border: 1px solid; }
.phonebook-targeting__type.is-public { color: #0f766e; background: #effcf8; border-color: #c3eee2; }
.phonebook-targeting__type.is-private { color: #5e4bc4; background: #f1edff; border-color: #e0d9ff; }
.phonebook-targeting__number { color: #52617a; font-size: .8rem; font-variant-numeric: tabular-nums; }
.phonebook-targeting__selected-count { display: inline-flex; min-width: 42px; justify-content: center; border-radius: 8px; padding: 4px 8px; font-size: .77rem; font-weight: 700; font-variant-numeric: tabular-nums; color: #6552ce; background: #ece8ff; }
.phonebook-targeting__index { width: 110px; min-width: 95px; margin: 0 !important; }
.phonebook-targeting__index input { text-align: center; font-variant-numeric: tabular-nums; }
.phonebook-targeting__index .mud-input { border-radius: 9px !important; background: var(--mud-palette-surface, #fff); }
.phonebook-targeting__index .mud-input.mud-disabled { background: #f7f8fc; opacity: .65; }
.phonebook-targeting__empty { padding: 36px 20px; text-align: center; color: var(--pb-muted); font-size: .78rem; }
.phonebook-targeting__empty p { margin-top: 12px; }
.phonebook-targeting__pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 16px; font-size: .68rem; color: var(--pb-muted); border-top: 1px solid #eceef6; }
.phonebook-targeting__dot { color: #bbb4dc; margin: 0 7px; }
.phonebook-targeting__help { display: flex; gap: 8px; padding: 14px 20px; background: #fcfcff; border-top: 1px dashed #e1e4f0; color: var(--pb-muted); font-size: .69rem; line-height: 1.9; }
.phonebook-targeting__help > .mud-icon-root { color: #8a7dd1; flex-shrink: 0; margin-top: 2px; }
.phonebook-targeting__help strong { display: block; color: #66718a; font-size: .7rem; font-weight: 600; margin-bottom: 3px; }
@media (max-width: 800px) {
    .phonebook-targeting__hero { padding: 16px; gap: 14px; }
    .phonebook-targeting__stats { width: 100%; grid-template-columns: repeat(3, minmax(0,1fr)); }
    .phonebook-targeting__stats > div { padding: 8px 10px; }
    .phonebook-targeting__stats span { font-size: .6rem; }
    .phonebook-targeting__range-panel { margin: 12px 12px 0; padding: 10px 12px; }
    .phonebook-targeting__global-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .phonebook-targeting__global-note { grid-column: 1 / -1; }
    .phonebook-targeting__toolbar { padding: 10px 12px; gap: 8px; }
    .phonebook-targeting__search { max-width: none; }
    .phonebook-targeting__help { padding: 12px; }
    .phonebook-targeting__pager .mud-table-pagination-toolbar { width: 100%; min-height: 48px; padding: 0; flex-wrap: wrap; justify-content: center; }
    .phonebook-targeting__pager .mud-table-pagination-spacer { display: none; }
    .phonebook-targeting__pager .mud-table-pagination-caption { margin-inline: 5px; }
    .phonebook-targeting__pager .mud-table-pagination-actions { margin-inline: 3px; }
}
