/* TASK 744: theme-native contacts with compact navigation and one scroll surface. */
body.phone-contacts-open{overflow:hidden!important}
#phoneContactsModal[hidden],[data-phone-contacts][hidden],#nativeCallAccess[hidden],#phoneContactsModal [hidden],[data-pc-entry-count][hidden]{display:none!important}
#phoneContactsModal{--pc-paper:var(--paper,#fff);--pc-ink:var(--ink,#18352f);--pc-muted:var(--muted,#61736f);--pc-line:var(--line,#dce5e1);--pc-brand:var(--brand,#217866);--pc-soft:color-mix(in srgb,var(--pc-brand) 7%,var(--pc-paper));position:fixed;inset:0;z-index:2200;display:grid;place-items:center;padding:24px;background:#08161566;color:var(--pc-ink);text-align:start;box-sizing:border-box}
#phoneContactsModal *,#phoneContactsModal *::before,#phoneContactsModal *::after{box-sizing:border-box}
#phoneContactsModal .pc-panel{width:min(560px,100%);height:min(780px,90dvh);min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--pc-paper);border:1px solid var(--pc-line);border-radius:24px;box-shadow:0 20px 70px #0002;font:inherit;isolation:isolate}
#phoneContactsModal :is(h2,h3,p){margin:0;color:inherit}
#phoneContactsModal button{width:auto;min-width:0;min-height:44px;flex-shrink:0;margin:0;padding:9px 14px;border:0;border-radius:12px;box-shadow:none;background:transparent;color:var(--pc-ink);font:inherit;font-size:13px;font-weight:600;line-height:1.6;cursor:pointer;transform:none;text-shadow:none}
#phoneContactsModal button:disabled{opacity:.45;cursor:default}
#phoneContactsModal :is(button,input,summary):focus-visible,[data-phone-contacts]:focus-visible{outline:2px solid var(--pc-brand);outline-offset:3px}
#phoneContactsModal svg,[data-phone-contacts] svg{display:block;width:22px;height:22px;flex:0 0 22px;pointer-events:none}
#phoneContactsModal .pc-header{display:flex;align-items:center;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--pc-line);flex-shrink:0;background:var(--pc-paper)}
#phoneContactsModal .pc-heading{flex:1;min-width:0}
#phoneContactsModal h2{font-size:20px;font-weight:750;line-height:1.7}
#phoneContactsModal .pc-heading small{display:block;color:var(--pc-muted);font-size:12px;line-height:1.8}
#phoneContactsModal .pc-icon-button{width:44px;height:44px;padding:11px;border-radius:50%}
#phoneContactsModal .pc-icon-button:hover{background:var(--pc-soft)}
#phoneContactsModal .pc-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scroll-padding-top:120px}
#phoneContactsModal .pc-welcome{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 32px;gap:16px}
#phoneContactsModal .pc-welcome-icon{width:88px;height:88px;display:grid;place-items:center;border-radius:28px;background:var(--pc-soft);color:var(--pc-brand);margin-bottom:8px}
#phoneContactsModal .pc-welcome-icon svg{width:40px;height:40px}
#phoneContactsModal .pc-welcome h3{font-size:18px;line-height:1.8}
#phoneContactsModal .pc-welcome p{max-width:310px;font-size:14px;line-height:2;color:var(--pc-muted)}
#phoneContactsModal .pc-primary{background:var(--pc-brand);color:#fff;padding:12px 24px;min-height:48px;margin-top:8px}
#phoneContactsModal .pc-welcome small{color:var(--pc-muted);font-size:11px;line-height:1.9}
#phoneContactsModal .pc-tools{position:sticky;top:0;z-index:2;background:var(--pc-paper);padding:16px 20px 0}
#phoneContactsModal .pc-search{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 13px;border:1px solid var(--pc-line);border-radius:14px;background:var(--pc-soft);color:var(--pc-muted);margin:0}
#phoneContactsModal .pc-search input{min-width:0;width:100%;min-height:44px;padding:8px 0;border:0;border-radius:0;box-shadow:none;outline:none;background:transparent;color:var(--pc-ink);font:inherit;font-size:14px}
#phoneContactsModal .pc-search input::placeholder{color:var(--pc-muted);opacity:1}
#phoneContactsModal .pc-tabs{display:flex;gap:4px;padding:12px 0 0;border-bottom:1px solid var(--pc-line)}
#phoneContactsModal .pc-tabs button{flex:1;border-radius:0;padding:10px 4px;color:var(--pc-muted);border-bottom:2px solid transparent;font-size:13px;white-space:nowrap}
#phoneContactsModal .pc-tabs button[aria-pressed=true]{border-bottom-color:var(--pc-brand);color:var(--pc-brand)}
#phoneContactsModal .pc-tabs span{display:inline-block;font-size:11px;margin-inline-start:4px;font-weight:500}
#phoneContactsModal .pc-list{padding:4px 20px 12px}
#phoneContactsModal .pc-row{display:flex;align-items:center;gap:12px;min-height:82px;padding:14px 0;border-bottom:1px solid var(--pc-line)}
#phoneContactsModal .pc-row:last-child{border:0}
#phoneContactsModal .pc-avatar{position:relative;display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;overflow:hidden;background:var(--pc-soft);color:var(--pc-brand);font-size:21px;font-weight:600}
#phoneContactsModal .pc-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
#phoneContactsModal .pc-person{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
#phoneContactsModal .pc-person strong{color:var(--pc-ink);font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#phoneContactsModal .pc-person small{font-size:11px;line-height:1.7;color:var(--pc-muted);align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#phoneContactsModal .pc-row[data-member=true] .pc-person small:not(.pc-account-name){color:var(--pc-brand)}
#phoneContactsModal :is(.pc-chat,.pc-invite){display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;font-size:12px}
#phoneContactsModal .pc-chat{color:var(--pc-brand);background:var(--pc-soft)}
#phoneContactsModal .pc-invite{color:var(--pc-muted)}
#phoneContactsModal :is(.pc-chat,.pc-invite) svg{width:18px;height:18px;flex-basis:18px}
#phoneContactsModal .pc-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;color:var(--pc-muted);font-size:13px;line-height:1.9}
#phoneContactsModal .pc-empty svg{width:40px;height:40px;opacity:.6}
#phoneContactsModal .pc-more{display:block;margin:0 auto 16px;color:var(--pc-brand);background:var(--pc-soft);min-height:44px}
#phoneContactsModal .pc-skeleton{pointer-events:none}
#phoneContactsModal .pc-skeleton i{display:block;background:linear-gradient(100deg,var(--pc-soft) 25%,var(--pc-line) 50%,var(--pc-soft) 75%);background-size:200% 100%;animation:pc-shimmer 1.6s ease-in-out infinite;border-radius:6px}
#phoneContactsModal .pc-skeleton-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%!important}
#phoneContactsModal .pc-skeleton-name{width:65%;height:13px}
#phoneContactsModal .pc-skeleton-detail{width:45%;height:10px;margin-top:6px}
#phoneContactsModal .pc-skeleton-action{width:60px;height:32px}
@keyframes pc-shimmer{to{background-position:-200% 0}}
#phoneContactsModal .pc-bottom{flex-shrink:0;border-top:1px solid var(--pc-line);background:var(--pc-paper);max-height:42%;overflow:auto;overscroll-behavior:contain;padding:10px 20px}
#phoneContactsModal .pc-sync-state{display:flex;align-items:center;gap:8px;min-height:24px;color:var(--pc-muted);font-size:11px;line-height:1.8}
#phoneContactsModal #pcStatus{flex:1}
#phoneContactsModal #pcStateDot{width:6px;height:6px;border-radius:50%;background:var(--pc-muted);flex:0 0 6px}
#phoneContactsModal #pcStateDot[data-state=ready]{background:var(--success,#219877)}
#phoneContactsModal #pcStateDot[data-state=loading]{background:var(--warning,#c18712)}
#phoneContactsModal #pcRetry{font-size:11px;padding:2px 5px;min-height:32px;color:var(--pc-brand)}
#phoneContactsModal .pc-privacy{color:var(--pc-muted);font-size:11px;line-height:1.9}
#phoneContactsModal .pc-privacy summary{display:flex;align-items:center;gap:7px;cursor:pointer;min-height:36px;list-style:none}
#phoneContactsModal .pc-privacy summary::-webkit-details-marker{display:none}
#phoneContactsModal .pc-privacy summary svg{width:15px;height:15px;flex-basis:15px}
#phoneContactsModal .pc-privacy summary::after{content:'+';margin-inline-start:auto;font-size:16px}
#phoneContactsModal .pc-privacy[open] summary::after{content:'−'}
#phoneContactsModal .pc-privacy p{margin:8px 0}
#phoneContactsModal #pcDisable{color:var(--error,#bc3c4c);font-size:12px;padding:8px 0}
#sidebar [data-phone-contacts],#accountModal [data-phone-contacts]{display:flex;align-items:center;gap:10px;width:calc(100% - 24px);min-height:46px;margin:4px 12px;padding:8px 12px;border:0!important;border-radius:12px;background:transparent!important;color:var(--ink,#18352f)!important;box-shadow:none!important;transform:none;font:inherit;font-size:13px;font-weight:500;text-align:start;cursor:pointer;flex-shrink:0}
#sidebar [data-phone-contacts]:hover,#accountModal [data-phone-contacts]:hover{background:color-mix(in srgb,var(--brand,#217866) 7%,var(--paper,#fff))!important}
[data-phone-contacts]>svg:first-child{color:var(--brand,#217866)}
[data-phone-contacts]>svg:last-child{width:16px;height:16px;flex-basis:16px;margin-inline-start:auto;opacity:.5;transform:rotate(180deg)}
[data-pc-entry-count]{font:inherit;font-size:11px;color:var(--muted,#61736f);margin-inline-start:auto}
[data-phone-contacts]:has([data-pc-entry-count]:not([hidden]))>svg:last-child{margin-inline-start:0}
.pc-call-access{display:flex;align-items:center;gap:12px;margin:10px 16px;padding:12px;border:1px solid var(--line,#dce5e1);border-radius:12px;font-size:12px}.pc-call-access span{flex:1}.pc-call-access button{min-height:44px;font:inherit}
@media(max-width:700px){#phoneContactsModal{padding:0}#phoneContactsModal .pc-panel{width:100%;height:100dvh;max-height:100%;border:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);box-shadow:none}#phoneContactsModal .pc-header{padding:12px 12px 14px;gap:8px}#phoneContactsModal h2{font-size:19px}#phoneContactsModal .pc-tools{padding:12px 16px 0}#phoneContactsModal .pc-list{padding-inline:16px}#phoneContactsModal .pc-bottom{padding-inline:16px}#phoneContactsModal .pc-row{gap:10px}#phoneContactsModal .pc-chat svg{display:none}.pc-call-access{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#phoneContactsModal *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
#phoneContactsModal .pc-avatar[data-online="true"]::after{content:"";position:absolute;inset-inline-end:1px;bottom:1px;width:12px;height:12px;border-radius:50%;background:#19bf78;border:2px solid var(--pc-paper);box-shadow:0 1px 3px #0003}
#sidebarQuickActions [data-phone-contacts]{grid-column:1/-1}
html[data-interface-layout="rail"] #sidebar #workspaceCategoryRail>[data-phone-contacts][hidden]{display:none!important}
html[data-interface-layout="rail"] #sidebar #workspaceCategoryRail>[data-phone-contacts]>svg:last-child,
html[data-interface-layout="rail"] #sidebar #workspaceCategoryRail>[data-phone-contacts]>small{display:none!important}
html[data-interface-layout="rail"] #sidebar #workspaceCategoryRail>[data-phone-contacts]>svg:first-child{margin:0;transform:none;opacity:1}
