.user-avatar { overflow: hidden; }
.user-password-assessment { display: grid; gap: 5px; }
.user-password-assessment small { color: var(--color-text-light); font-size: 11px; }
.user-roster-meta { flex-wrap: wrap; gap: 12px; }
@media (min-width: 768px) and (max-width: 1199px) {
    .user-roster-item { flex-wrap: wrap; }
    .user-roster-item .user-roster-main { flex: 1 1 100%; }
    .user-roster-meta { padding-left: 48px; }
    .user-roster-actions { margin-left: auto; }
}
.user-avatar img, .msg-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: inherit; }
.profile-page { max-width: 640px; display: grid; gap: 20px; margin-inline: auto; }
.profile-page > .collection-intro { margin-bottom: 0; }
.profile-card { overflow: hidden; }
.profile-card .profile-heading { padding: 24px 28px 0; }
.profile-heading h2 { margin: 0; font-size: 18px; font-weight: 650; color: var(--color-text); }
.profile-heading p { margin: 6px 0 0; color: var(--color-text-light); font-size: 14px; line-height: 1.5; }
.profile-content { padding: 24px 28px; }
.profile-identity { display: flex; align-items: center; gap: 18px; margin-bottom: 28px; }
.user-avatar.profile-preview { width: 80px; height: 80px; flex: 0 0 80px; font-size: 26px; }
.profile-identity > div { min-width: 0; }
.profile-identity h3 { margin: 0; font-size: 16px; font-weight: 600; overflow-wrap: anywhere; }
.profile-identity p { margin: 5px 0 0; color: var(--color-text-light); font-size: 13px; line-height: 1.5; }
.profile-card .form-group { margin-bottom: 18px; }
.profile-content > .form-group:last-child { margin-bottom: 0; }
.profile-card .form-row .form-group { margin-bottom: 0; }
.profile-card .form-label { display: block; margin-bottom: 7px; }
.profile-card .form-row { margin-bottom: 8px; }
.profile-name-hint { margin: 0 0 18px; }
.profile-card .form-input.profile-input-locked,
.profile-card .form-input.profile-input-locked:hover,
.profile-card .form-input.profile-input-locked:focus {
    background: #f4f6fa;
    color: #4a5568;
    cursor: default;
    box-shadow: none;
    border-color: #dce2eb;
}
.profile-help { margin: 10px 0 0; font-size: 12px; line-height: 1.7; color: var(--color-text-light); }
.profile-status { margin: 12px 0 0; font-size: 13px; line-height: 1.5; color: var(--color-text-light); }
.profile-status.is-error { color: var(--color-danger, #b42318); }
.profile-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; padding: 18px 28px; border-top: 1px solid var(--color-border); background: var(--color-bg-secondary); }
.profile-actions > .btn-secondary { margin-right: auto; }
@media (max-width: 540px) {
    .profile-card .profile-heading { padding: 20px 20px 0; }
    .profile-content { padding: 22px 20px; }
    .profile-identity { gap: 14px; margin-bottom: 24px; }
    .user-avatar.profile-preview { width: 64px; height: 64px; flex-basis: 64px; font-size: 22px; }
    .profile-actions { padding: 16px 20px; flex-direction: column-reverse; }
    .profile-actions .btn { width: 100%; margin: 0; }
}
