.contacts-phase{overflow:hidden}.contacts-toolbar{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding:18px 20px;border-bottom:1px solid var(--line,#e8ebf1)}.contacts-search{display:flex;gap:10px;flex:1 1 500px;flex-wrap:wrap}.contacts-search .table-filter{flex:1 1 220px}.contacts-search input,.contacts-search select,.contacts-advanced input,.contacts-advanced select{min-height:42px}.contacts-more{flex:0 0 auto}.contacts-more summary{cursor:pointer;list-style:none;padding:11px 14px;border:1px solid var(--line,#e4e8ef);border-radius:10px;font-weight:650;color:var(--ink,#26334a)}.contacts-more summary::-webkit-details-marker{display:none}.contacts-more[open] summary{border-color:var(--blue,#4668d8)}.contacts-advanced{position:absolute;z-index:3;right:24px;display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px;padding:16px;background:white;border:1px solid var(--line,#e4e8ef);border-radius:12px;box-shadow:0 12px 32px #1825441c}.contacts-advanced label{display:grid;gap:5px;font-size:12px;font-weight:650}.contacts-clear{white-space:nowrap}.contacts-count{padding:12px 20px 0;color:var(--muted,#778196);font-size:13px}.contacts-sort{background:none;border:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;padding:4px}.contacts-count+ .contacts-results .table-scroll{margin-top:2px}.contacts-pagination{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px;border-top:1px solid var(--line,#e8ebf1);color:var(--muted,#778196);font-size:13px}.contacts-pagination:empty{display:none}.contacts-pagination button{border:1px solid var(--line,#e4e8ef);background:white;border-radius:8px;padding:8px 12px;cursor:pointer;color:inherit}.contacts-pagination button:disabled{opacity:.45;cursor:default}.contact-count{font-size:12px;color:var(--muted,#778196);white-space:nowrap}.contacts-no-results td{text-align:center!important;padding:38px!important}.contacts-no-results span{display:block;margin-top:7px;color:var(--muted,#778196)}.contacts-empty{text-align:center;padding:42px 20px}.contacts-empty p{color:var(--muted,#778196)}.contacts-empty .btn{margin-top:8px}@media(max-width:700px){.contacts-toolbar{padding:14px}.contacts-search{flex-basis:100%;display:grid;grid-template-columns:1fr}.contacts-more{width:100%}.contacts-advanced{position:static;grid-template-columns:1fr 1fr;margin-top:8px}.contacts-clear{align-self:flex-start}.contacts-phase .table-scroll{overflow-x:auto}.contacts-phase table{min-width:850px}.contacts-pagination{gap:10px}}@media(prefers-reduced-motion:no-preference){.contacts-phase tbody tr{animation:contacts-in .18s ease-out}@keyframes contacts-in{from{opacity:.7}to{opacity:1}}}
.contacts-sort-control{display:flex;align-items:center;gap:7px;color:var(--muted,#778196);font-size:13px}.contacts-sort-control select{min-height:42px;max-width:100%;border:1px solid var(--line,#e4e8ef);border-radius:8px;padding:6px 10px;background:white;color:var(--ink,#26334a)}

.people-saved-views{padding:16px 20px;border-bottom:1px solid var(--line,#e8ebf1);min-width:0}.people-views-heading b{font-size:14px}.people-views-heading small{font-weight:400;color:var(--muted,#778196);margin-left:6px}.people-views-heading p,.people-views-status{font-size:12px;color:var(--muted,#778196);line-height:1.5;margin:6px 0 10px;overflow-wrap:anywhere}.people-views-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;min-width:0}.people-views-controls label{display:grid;gap:5px;font-size:12px;min-width:0;flex:1 1 180px}.people-views-controls input,.people-views-controls select{width:100%;min-width:0;max-width:100%;min-height:42px;border:1px solid var(--line,#e4e8ef);border-radius:8px;padding:8px 10px;background:white;color:var(--ink,#26334a);font:inherit}.people-views-controls button,.people-views-confirm button{min-height:42px}.people-views-status{margin-bottom:0}.people-views-confirm:not([hidden]){display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:13px;overflow-wrap:anywhere}.people-views-confirm span{flex:1 1 200px;min-width:0}.people-saved-views button:disabled,.people-saved-views input:disabled,.people-saved-views select:disabled{opacity:.55;cursor:not-allowed}.people-saved-views [data-view-action=clear]:not([hidden]){margin-top:10px}.people-saved-views :focus-visible{outline:2px solid var(--blue,#4668d8);outline-offset:3px}@media(max-width:700px){.people-saved-views{padding:14px}.people-views-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.people-views-controls label{grid-column:1/-1}.people-views-controls button{white-space:normal;min-width:0}.people-views-confirm:not([hidden]){align-items:stretch}.people-views-confirm span{flex-basis:100%}.people-saved-views [data-view-action=clear]{max-width:100%;white-space:normal}}

.people-saved-views [hidden]{display:none!important}
.contacts-section-tabs{display:flex;gap:8px;margin:0 0 18px;border-bottom:1px solid var(--line,#e4e8ef)}.contacts-section-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted,#778196);padding:10px 14px;font:inherit;font-weight:650;cursor:pointer}.contacts-section-tabs button[aria-current="page"]{color:var(--ink,#26334a);border-bottom-color:var(--blue,#4668d8)}.contacts-section-tabs button:focus-visible{outline:2px solid var(--blue,#4668d8);outline-offset:2px}@media(max-width:700px){.contacts-section-tabs{margin-inline:0}}

/* RD16: People list hierarchy — Customer ID largest, name second, rest normal. */
.person-lines{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}
.person-cell .person-code{font-size:20px;font-weight:800;letter-spacing:-.2px;line-height:1.15;color:#0070C0}
.person-cell .person-name{font-size:15.5px;font-weight:650;line-height:1.3;color:var(--ink,#1c2942);overflow-wrap:anywhere}
@media(max-width:700px){.person-cell .person-code{font-size:21px}.person-cell .person-name{font-size:16px}}

/* RD21: People toolbar — Add chooser + ghost search on one row; compact View/Sort row; grid layouts. */
.contacts-toolbar{flex-direction:column;align-items:stretch;gap:12px}
.people-tools{display:flex;gap:10px;align-items:stretch}
.people-add-wrap{position:relative;flex:none}
.people-add-btn{min-height:46px}
.people-add-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:216px;background:#fff;border:1px solid var(--line,#E4E8EF);border-radius:13px;box-shadow:0 14px 34px #18254426;padding:6px}
.people-add-menu button{display:flex;align-items:center;gap:11px;width:100%;min-height:47px;padding:0 12px;border:0;background:transparent;border-radius:9px;font-size:15px;font-weight:600;color:var(--ink,#26334A);text-align:left;cursor:pointer}
.people-add-menu button:hover{background:#F2F5FB}
.pam-icon{width:20px;height:20px;flex:none;color:#0070C0;display:grid;place-items:center}
.pam-icon svg{width:100%;height:100%}
.people-search{flex:1;background:#F1F5FA;border-color:transparent;min-height:46px}
.people-tools-2{display:flex;justify-content:flex-end;align-items:center;gap:8px}
.people-view-btn{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid var(--line,#E4E8EF);background:#fff;border-radius:9px;font-size:13.5px;font-weight:650;color:var(--ink,#26334A);cursor:pointer}
.pv-icon{width:17px;height:17px;display:grid;place-items:center;color:#5A6B84}
.pv-icon svg{width:100%;height:100%}
.contacts-sort-control.compact{font-size:12.5px;gap:6px}
.contacts-sort-control.compact select{min-height:38px;font-size:13.5px;padding:4px 8px;max-width:172px}
.people-grid{display:grid;gap:10px;padding:14px}
.people-grid.small{grid-template-columns:1fr 1fr}
.people-grid.large{grid-template-columns:1fr}
@media(min-width:760px){.people-grid.large{grid-template-columns:1fr 1fr}}
.person-card{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--line,#E3E7ED);border-radius:14px;padding:12px;cursor:pointer;min-width:0}
.person-card .avatar{flex:none}
.person-card.small .avatar{width:38px;height:38px;font-size:13px}
.person-card.large .avatar{width:54px;height:54px;font-size:17px}
.pc-lines{display:grid;gap:2px;flex:1;min-width:0;text-align:left}
.pc-code{font-weight:800;color:#0070C0;line-height:1.15}
.person-card.small .pc-code{font-size:15px}
.person-card.large .pc-code{font-size:20px}
.pc-name{font-weight:650;color:var(--ink,#1C2942);line-height:1.25;overflow-wrap:anywhere}
.person-card.small .pc-name{font-size:13.5px}
.person-card.large .pc-name{font-size:16px}
.pc-lines small{color:var(--muted,#778196)}
.person-card.small .pc-lines small{font-size:11.5px}
.person-card.large .pc-lines small{font-size:13px}
.pc-phone{font-size:13.5px;color:#43536B}
.pc-counts{font-size:12px;color:var(--muted,#778196)}
.person-card .row-menu{flex:none}

/* RD21b: one-line names; phone as the bottom-right second line; square ID tiles */
.person-cell{width:100%}
.person-lines{width:100%}
.person-cell .person-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.person-sub{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%}
.person-sub small{color:var(--muted,#778196);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.person-phone{display:none}
@media(max-width:700px){.person-phone{display:block;font-size:13px;font-weight:600;color:#5B6B82;white-space:nowrap}}
.people-grid.small{grid-template-columns:repeat(3,1fr);gap:9px}
.people-grid.large{grid-template-columns:repeat(2,1fr);gap:11px}
@media(min-width:760px){.people-grid.small{grid-template-columns:repeat(4,1fr)}.people-grid.large{grid-template-columns:repeat(3,1fr)}}
.person-tile{background:#fff;border:1px solid var(--line,#E3E7ED);border-radius:16px;overflow:hidden;min-width:0}
.pt-open{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;aspect-ratio:1/1;padding:10px 8px;background:linear-gradient(180deg,#FCFEFF,#F0F6FC);border:0;cursor:pointer;font:inherit;transition:transform .14s ease}
.pt-open:active{transform:scale(.96)}
.pt-id{font-size:21px;font-weight:800;color:#0070C0;letter-spacing:-.3px;line-height:1.1;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-tile.large .pt-id{font-size:31px}
.pt-id.pt-name-hero{font-size:14.5px;color:var(--ink,#1C2942);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.person-tile.large .pt-id.pt-name-hero{font-size:18px}
.pt-name{font-size:11.5px;font-weight:600;color:#5B6B82;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-tile.large .pt-name{font-size:13px}
