.profile-editor,.connect-profile{width:680px}.profile-section{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.profile-section h3{font-size:14px;color:#33445f}.profile-section>p{margin-top:6px}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.profile-section textarea{width:100%;resize:vertical}.goal-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.goal-options label{margin:0!important;display:flex!important;align-items:center;gap:8px;border:1px solid #dce4f0;border-radius:10px;padding:11px;background:#f8faff}.goal-options input{width:16px!important;margin:0;accent-color:#3867bc}.goal-options label:has(input:checked){background:#eaf1ff;border-color:#88a5d5}.person-detail{margin-top:22px}.person-detail h4{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#91a0b8;margin:0 0 7px}.person-detail p{white-space:pre-wrap;overflow-wrap:anywhere;color:#586c8e}.goal-tags{display:flex;flex-wrap:wrap;gap:7px}.goal-tag{display:inline-block;border-radius:7px;padding:6px 9px;background:#eef2fb;color:#5d78a5;font-size:11px;margin-top:7px}.connect-priority{padding-top:20px;border-top:1px solid var(--line)}.connect-priority small{display:block;font-size:10px;color:#8a9bb5;margin-top:8px}.profile-header small{color:#8d9eb4;font-size:11px}.form-error{font-size:12px;color:#a34858;white-space:pre-wrap}.messenger{display:grid;grid-template-columns:280px minmax(0,1fr);border:1px solid #dce5f2;border-radius:18px;background:white;min-height:620px;overflow:hidden;box-shadow:0 12px 40px #6789bb08}.message-people{border-right:1px solid #e5ebf4;background:#fafbfe;padding:16px}.message-list-heading{display:flex;align-items:center;justify-content:space-between;margin:8px 10px 22px;color:#8294b0}.message-list-heading h3{font-size:12px;letter-spacing:.2px}.message-list-heading span{font-size:11px}.message-person{display:flex;align-items:center;gap:11px;width:100%;padding:15px 10px;text-align:left;border-radius:12px;margin-bottom:6px}.message-person.active{background:#e9f0ff}.message-person .hub-person-avatar,.message-header .hub-person-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.message-person>span{min-width:0;flex:1}.message-person strong{display:block;color:#435e88;font-size:12px}.message-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#91a0b8;margin-top:6px}.message-count{font-size:10px;background:#3867bc;border-radius:50%;color:white;min-width:18px;height:18px;display:grid;place-items:center}.message-main{display:flex;flex-direction:column;min-width:0}.message-header{display:flex;gap:12px;align-items:center;border-bottom:1px solid #e8edf5;padding:22px 26px}.message-header strong{display:block;font-size:13px;color:#435e88}.message-header small{display:block;font-size:10px;color:#97a7bd;margin-top:5px}.message-header>button{margin-left:auto}.message-thread{height:420px;overflow-y:auto;padding:28px;background:linear-gradient(160deg,#fff,#f9fbff)}.message-placeholder{text-align:center;color:#96a6bd;padding:95px 25px}.message-placeholder h3{font-size:19px;color:#6d86ab;margin-bottom:12px}.message-placeholder p{font-size:12px;line-height:1.8}.message-row{display:flex;margin-bottom:18px}.message-row.mine{justify-content:flex-end}.message-bubble{max-width:80%;padding:13px 16px;background:#edf1f8;border-radius:15px 15px 15px 3px}.message-row.mine .message-bubble{background:#e5edff;border-radius:15px 15px 3px 15px}.message-bubble p{font-size:12px;line-height:1.8;color:#435e88;white-space:pre-wrap;overflow-wrap:anywhere}.message-bubble time{font-size:9px;color:#91a0b8;display:block;margin-top:8px}.message-composer{display:flex;gap:12px;align-items:flex-end;padding:10px 24px}.message-composer textarea{flex:1;min-width:0;resize:vertical;max-height:160px;border:1px solid #dce5f2;border-radius:11px;background:#fbfcff;padding:12px;font-size:12px;color:#435e88}.message-composer .primary{margin:0}.message-note{font-size:10px;color:#9ba9be;padding:0 24px 18px}.message-main .form-error{padding:0 24px}.message-welcome{margin:auto;text-align:center;padding:60px 30px;max-width:450px}.message-welcome>span{display:inline-grid;place-items:center;background:#edf2ff;color:#7b97c8;width:55px;height:55px;border-radius:17px;margin-bottom:20px;font-size:25px}.message-welcome h2{font-size:23px;color:#5c769e}.message-welcome p,.message-list-empty{font-size:12px;color:#93a3bc;line-height:1.8;margin:16px 0 24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.hub-card>.hub-person-avatar{width:42px;height:42px;object-fit:cover;border-radius:50%;margin-bottom:12px}@media(max-width:900px){.messenger{grid-template-columns:210px minmax(0,1fr)}.message-composer{flex-wrap:wrap}.message-composer textarea{flex-basis:100%}.message-composer button{margin-left:auto}}@media(max-width:600px){.profile-fields,.goal-options{grid-template-columns:1fr}.messenger{grid-template-columns:1fr}.message-people{border-right:0;border-bottom:1px solid #e5ebf4;max-height:195px;overflow:auto}.message-list-heading{margin-bottom:8px}.message-thread{height:350px;padding:18px}.message-header{padding:18px}.nav button{padding-left:10px!important;padding-right:10px!important}}
.connect-profile .profile-header h3{margin:0 0 4px}.connect-profile .profile-header p{margin:0 0 4px;font-size:13px}.connect-profile .person-detail{margin-top:16px}.connect-profile .person-detail p{margin:0}.connect-profile>.field-help{font-size:11px;margin:12px 0 0}.connect-profile .dialog-actions{margin-top:16px}

/* Shared spacing for the new screens, matching the existing dialog rhythm. */
.community-empty {
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:56px 28px;
  border:1px solid #e1e7f1;
  border-radius:14px;
  background:#fff;
  text-align:center;
}
.community-empty p {
  margin:0;
  max-width:440px;
  font-size:15px;
  font-weight:400;
  line-height:1.7;
  color:#788ca9;
}
.community-empty-actions {display:flex;justify-content:center;gap:12px}
.community-empty-actions .primary {margin:0;min-height:44px;padding:12px 24px;font-size:14px;line-height:1.4}
.profile-fields {gap:20px}
.profile-section h3 {margin:0 0 8px;font-size:16px;line-height:1.5}
.profile-section>.field-help {margin:0 0 20px;font-size:13px;line-height:1.7}
.profile-section>label {margin-top:20px}
.profile-section>h3+label {margin-top:16px}
.profile-section textarea {margin-top:8px;font-size:14px;line-height:1.6}
.profile-fields label {min-width:0;line-height:1.5}
.goal-options {margin:0 0 20px;gap:12px}
.goal-options label {padding:12px 14px;min-height:46px;font-size:13px;line-height:1.5}
.goal-options input {height:16px;flex-shrink:0}
.profile-editor form>.private-info {margin:0;padding:16px;font-size:12px;line-height:1.7}
.profile-editor form>.form-error:empty,.message-main>.form-error:empty {display:none}
.profile-editor form>.primary,.profile-editor form>.outline {margin-top:0;min-height:44px}
.profile-editor .profile-section {margin-top:0;padding-top:24px}
.profile-editor .field-meta {gap:16px;align-items:flex-start;line-height:1.6;margin-top:8px}
.connect-profile .profile-header {gap:16px;margin-bottom:20px;align-items:center}
.connect-profile .profile-header h3 {font-size:17px;line-height:1.4;margin:0 0 6px}
.connect-profile .profile-header p {font-size:14px;line-height:1.6;margin:0 0 5px}
.connect-profile .profile-header small {display:block;font-size:12px;line-height:1.6}
.connect-profile .person-detail {margin-top:20px}
.connect-profile .person-detail h4 {font-size:11px;line-height:1.5;margin-bottom:8px}
.connect-profile .person-detail p {font-size:14px;line-height:1.7}
.connect-profile .goal-tags {gap:8px}
.connect-profile .goal-tags .goal-tag {margin-top:0;line-height:1.5}
.connect-profile .connect-priority {margin-top:24px;padding-top:20px}
.connect-profile .connect-priority small {font-size:12px;line-height:1.6;margin-top:10px}
.connect-profile .dialog-actions {gap:12px;margin-top:24px}
.connect-profile .dialog-actions button {min-height:44px;margin-top:0}
.message-person {gap:12px;padding:16px 12px}
.message-person strong,.message-header strong {font-size:14px;line-height:1.5}
.message-person small {font-size:12px;line-height:1.5;margin-top:5px}
.message-header small {font-size:12px;line-height:1.5;margin-top:4px}
.message-bubble p {font-size:14px;line-height:1.7}
.message-bubble time {font-size:11px;line-height:1.5;margin-top:8px}
.message-composer {gap:12px;padding:16px 24px 12px}
.message-composer textarea {font-size:14px;line-height:1.6;padding:12px 14px}
.message-composer button {min-height:44px;font-size:13px;padding:12px 18px}
.message-note {font-size:11px;line-height:1.6;padding-bottom:20px}
.message-welcome p {font-size:14px;line-height:1.7;margin:16px 0 24px}
@media(max-width:600px){
  .community-empty {min-height:260px;padding:40px 24px;gap:24px}
  .profile-fields {gap:18px}
  .goal-options {gap:10px}
  .connect-profile .profile-header {gap:12px}
  .message-header {gap:10px;flex-wrap:wrap}
  .message-header>button {font-size:12px}
  .message-composer {padding:16px 18px 12px}
}
.profile-fields>label {margin:0!important;display:flex!important;flex-direction:column;gap:8px;align-self:start}
.profile-fields>label>input,.profile-fields>label>select {margin:0!important;width:100%;min-height:46px}
/* Keep compact sidebars readable instead of breaking account labels into many lines. */
.sidebar .profile {width:100%;margin:28px 0 24px;gap:10px;padding:0}
.sidebar .profile>span:first-of-type {flex:1;min-width:0}
.sidebar .profile strong {font-size:14px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar .profile .tiny {font-size:12px;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar .profile>span:last-of-type {flex-shrink:0}
.sidebar .profile .profile-avatar {width:36px;height:36px}
.sidebar-bottom>.share-entry span {min-width:0}
.sidebar-bottom>.share-entry small {font-size:12px;line-height:1.5;white-space:nowrap}
.sidebar-bottom>button {font-size:13px;gap:10px}
.sidebar-bottom>button>svg {flex-shrink:0}
.profile-editor .goal-options input[type="checkbox"] {margin:0!important;align-self:center;flex-shrink:0}
