.contact-avatar-button{padding:0;border:0;background:none;border-radius:14px;flex-shrink:0;min-width:43px;min-height:43px;display:grid;place-items:center}
.contact-avatar-button:disabled{opacity:1;cursor:default}
.contact-avatar-button:not(:disabled){cursor:pointer}
.contact-avatar-button:not(:disabled):hover{box-shadow:0 0 0 3px var(--bg-active)}
.contact-avatar-button:focus-visible{outline:2px solid var(--accent-1);outline-offset:4px}
.message-bubble-wrap{position:relative}
.message-read-dot{position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:#19a86b;box-shadow:0 0 0 2px var(--bg-chat)}
.message-read-dot[hidden]{display:none}
.member-detail-dialog{width:min(470px,calc(100vw - 28px));max-height:calc(100dvh - 36px);overflow:auto;padding:24px}
.member-detail-head{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:20px}
.member-detail-head h2{margin:0;font-size:19px}
.member-detail-head p{font-size:12px;color:var(--text-secondary);margin:4px 0 0;overflow-wrap:anywhere}
.member-detail-head button{min-width:44px;min-height:44px}
.member-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;padding:16px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin-bottom:18px}
.member-detail-meta dt{font-size:11px;color:var(--text-secondary);margin-bottom:5px}
.member-detail-meta dd{font-size:12px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.member-detail-meta .member-login-meta{grid-column:1/-1}
.member-detail-dialog fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:9px}
.member-detail-dialog label{font-size:13px;margin:3px 0 0}
.member-detail-dialog input{width:100%;height:42px;min-height:42px}
.member-detail-dialog .form-hint{font-size:12px;line-height:1.65;margin:0}
.member-detail-dialog .check-label input{width:18px;height:18px;min-height:18px}
.member-detail-dialog .binding-actions{margin-top:8px}
.member-password-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--border-color)}
.member-password-section form{display:grid;gap:8px}
.member-password-section .primary{margin-top:7px;min-height:42px}
.member-table-wrap{overflow:auto;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-secondary)}
.member-table{border-collapse:collapse;width:100%;min-width:680px;font-size:13px;text-align:left}
.member-table th{font-size:12px;color:var(--text-secondary);font-weight:500;background:var(--bg-tertiary);white-space:nowrap}
.member-table th,.member-table td{padding:11px 14px;border-bottom:1px solid var(--border-color)}
.member-table tr:last-child td{border-bottom:0}
.member-table tbody tr:hover{background:var(--bg-hover)}
.member-table td{max-width:190px;overflow-wrap:anywhere;line-height:1.5}
.member-table .member-login-cell{font-size:12px;color:var(--text-secondary);white-space:nowrap}
.member-table .quiet{padding:8px 12px;min-height:36px;white-space:nowrap}
.member-state{font-size:11px;color:#168252;white-space:nowrap}
.member-state.disabled{color:var(--danger)}
@media(max-width:700px){.member-detail-dialog{padding:20px}.member-table td,.member-table th{padding:10px 12px}.member-table .quiet{min-height:44px}}
