#roomDialog h2, #rootDialog h2, #rootConfirmDialog h2 { padding-right: 30px; }
.room-members { display: grid; gap: 8px; margin: 18px 0; }
.room-member { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.room-member > div { min-width: 0; overflow-wrap: anywhere; }
.room-member strong { font: 600 14px var(--body); }
.room-member small { display: block; margin-top: 3px; }
.room-member button { flex-shrink: 0; }
.room-section { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.room-section h3 { font: 600 15px var(--body); margin: 0 0 12px; }
.room-section label { display: grid; gap: 8px; font-size: 13px; margin: 14px 0; }
.room-section button, #rootSubmit { min-height: 42px; }
#transferHostForm { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }
#transferHostForm label { margin-bottom: 0; }
.room-danger { background: var(--surface); color: #b14942; border: 1px solid #b1494266; }
#roomError, #rootError { color: #b14942; }
.root-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.root-notice { padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
#joinRootButton { margin-top: 16px; width: 100%; }
.room-section[hidden], #rootNameField[hidden], #rootReplacementField[hidden] { display: none; }
@media (max-width: 480px) {
  #transferHostForm { grid-template-columns: minmax(0, 1fr); }
  #transferHostForm button, #hostReset, #openRoot, #rootSubmit { width: 100%; }
}
