.pm-modal{width:min(980px,95vw);max-width:980px;padding:20px;max-height:92dvh}
.pm-modal>header{margin-bottom:15px}
.pm-layout{display:grid;grid-template-columns:260px minmax(0,1fr);height:min(650px,74dvh);min-height:360px;gap:18px}
.pm-contacts{display:flex;flex-direction:column;min-height:0;overflow:auto;padding-right:14px;border-right:1px solid var(--line);scrollbar-width:thin}
.pm-contacts h3{font-size:11px;color:var(--muted);letter-spacing:1px;margin:20px 0 12px}
.pm-search{display:flex;gap:6px;align-items:center}
.pm-search input{margin:0;min-width:0;padding:10px;font-size:16px}
.pm-search button{padding:11px 8px;font-size:11px}
.pm-search-results:not(:empty){padding:8px 0;border-bottom:1px solid var(--line)}
.pm-contact{display:flex;align-items:center;gap:9px;width:100%;padding:11px 8px;margin:4px 0;background:transparent;text-align:left;border:1px solid transparent}
.pm-contact.selected{background:#9580f015;border-color:#9580f035}
.pm-contact:hover{background:var(--panel2)}
.pm-contact .avatar{width:32px;height:32px;flex-basis:32px;border-radius:10px}
.pm-contact-text{min-width:0;flex:1}
.pm-contact-text strong{display:block;font-size:12px}
.pm-contact-text small{display:block;font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}
.pm-unread{font-size:10px;padding:3px 6px;border-radius:20px;background:var(--button);color:#fff}
.pm-thread{display:flex;flex-direction:column;min-width:0;min-height:0}
.pm-thread-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 7px!important;flex-wrap:wrap}
.pm-thread-header h3{margin:0;font-size:16px}
.pm-tools{display:flex;gap:5px}
.pm-tools button{font-size:10px;padding:7px 8px}
.pm-status{font-size:10px;color:var(--muted);line-height:1.6;margin:0 0 8px}
.pm-older{align-self:center;background:transparent;color:var(--muted);font-size:10px;padding:6px 10px}
.pm-messages{flex:1;min-height:0;overflow:auto;padding:10px 7px;scrollbar-width:thin;overflow-anchor:none}
.pm-message{margin:8px 0;max-width:90%;width:fit-content;border:1px solid var(--line);border-radius:0 13px 13px 13px;padding:9px 12px;background:var(--input)}
.pm-message.own{margin-left:auto;border-color:#9580f030;border-radius:13px 0 13px 13px;background:#9580f011}
.pm-message .message-body{font-size:13px;line-height:1.7}
.pm-message-meta{display:flex;gap:12px;justify-content:space-between;margin-top:7px;font-size:9px;color:var(--muted)}
.pm-receipt{white-space:nowrap;color:var(--accent)}
.pm-compose{display:flex;gap:5px;align-items:flex-end;padding:5px;border:1px solid var(--line);border-radius:13px;background:var(--input);margin-top:10px}
.pm-compose textarea{font-size:16px;line-height:1.5;border:0;outline:none;box-shadow:none;margin:0;background:transparent;padding:10px 5px;resize:none;max-height:120px;min-width:0}
.pm-compose textarea:focus{border:0;outline:none;box-shadow:none}
.pm-compose>button[type=button]{font-size:23px;background:transparent;padding:7px}
.pm-compose .primary{font-size:12px;padding:12px 10px;white-space:nowrap}
.pm-counter{font-size:9px;text-align:right;color:var(--muted);padding:5px}
.pm-empty{font-size:12px;color:var(--muted);text-align:center;padding:35px 10px}
.pm-emojis{display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;margin-top:8px;padding:5px}
.pm-emojis button{font-size:20px;padding:6px}
.pm-start{margin-left:auto;padding:5px 7px;font-size:13px;background:transparent;color:var(--accent)}
.pm-modal [hidden]{display:none!important}
@media(max-width:700px){
 .pm-modal{padding:14px;width:96vw;max-height:94dvh}
 .pm-layout{grid-template-columns:1fr;height:76dvh;gap:10px}
 .pm-contacts{max-height:180px;border-right:0;border-bottom:1px solid var(--line);padding:0 0 8px;flex-shrink:0}
 .pm-contacts h3{margin:10px 0 5px}
 .pm-inbox{display:flex;gap:5px;overflow:auto;flex-shrink:0}
 .pm-inbox .pm-contact{min-width:160px;max-width:210px;margin:0;padding:7px}
 .pm-thread{min-height:0}
 .pm-search-results{max-height:110px;overflow:auto;flex-shrink:0}
 .pm-message{max-width:95%;padding:8px 10px}
 .pm-thread-header h3{font-size:14px}
 .pm-tools button{font-size:9px}
 .pm-message-meta{font-size:8px;gap:6px}
}

.pm-user-link{cursor:pointer;touch-action:manipulation}
.message-meta>strong.pm-user-link:hover,.user-info>strong.pm-user-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.pm-user-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.pm-user-card{display:grid;gap:18px;padding:8px 0}
.pm-user-identity{display:flex;align-items:center;gap:16px;font-size:20px;overflow-wrap:anywhere}
.pm-user-identity .avatar{width:64px;height:64px;flex-basis:64px;border-radius:20px;font-size:24px}
.pm-user-card .fine{margin:0;line-height:1.6}

/* PM stabil: dimensiuni rezervate și fără scrollbar care schimbă lățimea. */
.pm-modal{overflow:hidden}
.pm-modal #modalBody{min-height:0}
.pm-contacts,.pm-messages{scrollbar-gutter:stable;overscroll-behavior:contain}
.pm-inbox{overflow-anchor:none}
.pm-contact{min-width:0;flex-shrink:0}
.pm-contact-text{overflow-wrap:anywhere}
.pm-user-link:focus,.pm-user-link:focus-visible,.pm-user-link:active{outline:none!important;box-shadow:none!important}
@media(max-width:700px){
 .pm-layout{grid-template-rows:clamp(115px,22dvh,168px) minmax(0,1fr)}
 .pm-contacts{height:100%;max-height:none;min-height:0}
 .pm-inbox{min-height:78px;align-items:stretch}
 .pm-inbox .pm-contact{flex:0 0 180px;min-width:180px;max-width:180px;align-items:center}
 .pm-thread{overflow:hidden}
}
