.c-participant-body { padding: 24px; }
.c-participant-toolbar .checkbox-line { margin: 0; }
.c-participant-panel + .c-birthdays { margin-top: 24px; }
.c-contact { display: grid; gap: 4px; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.c-profile-avatar { overflow: hidden; }
.c-profile-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.c-photo-editor { display: flex; align-items: center; gap: 18px; padding: 16px; background: #f5f9f6; border: 1px solid var(--line); border-radius: 9px; margin-bottom: 22px; }
.c-photo-editor input[type="file"] { display: block; max-width: 100%; font-size: 11px; }
.c-large-avatar { width: 76px; height: 76px; border-radius: 18px; font-size: 23px; }
.c-small-avatar { width: 30px; height: 30px; flex-basis: 30px; font-size: 10px; border-radius: 9px; }
.c-welcome-avatar { width: 62px; height: 62px; flex-basis: 62px; font-size: 20px; border-radius: 17px; }
.c-card-actions, .c-inline-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.c-birthday-list { padding: 0 24px; }
.c-birthday { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; }
.c-birthday + .c-birthday { border-top: 1px solid var(--line); }
.c-field-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.c-field-header .field-label { margin-bottom: 0; }
.c-field-header .field-hint { margin-top: 4px; }
.c-service-chooser { max-height: 360px; overflow: auto; padding: 8px 14px; background: #fafcfb; border: 1px solid var(--line); border-radius: 8px; }
.c-service-check { padding: 9px 0; margin: 0; }
.c-service-check + .c-service-check { border-top: 1px solid var(--line); }
.c-service-check strong { display: block; font-size: 11px; font-weight: 550; }
.c-service-check small { display: block; color: var(--muted); margin-top: 3px; font-size: 10px; }
.c-recipient-chooser { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px; padding: 8px 14px; margin-bottom: 22px; border: 1px solid var(--line); border-radius: 8px; background: #fafcfb; max-height: 240px; overflow-y: auto; }
.c-recipient-chooser .checkbox-line { overflow-wrap: anywhere; }
.c-messaging { display: grid; grid-template-columns: 230px minmax(0,1fr); min-height: 500px; }
.c-thread-list { border-right: 1px solid var(--line); padding: 12px; background: #fafcfb; max-height: 750px; overflow: auto; }
.c-thread { display: flex; align-items: center; gap: 10px; width: 100%; padding: 13px 12px; text-align: left; border-radius: 7px; border: 1px solid transparent; color: var(--ink); background: transparent; margin-bottom: 5px; overflow-wrap: anywhere; }
.c-thread-label { display: block; min-width: 0; }
.c-thread small { display: block; color: var(--muted); margin-top: 5px; font-size: 10px; }
.c-thread strong { font-size: 12px; font-weight: 600; }
.c-thread:hover { background: #edf4ef; }
.c-thread.active { background: #e5f0eb; border-color: #d2e5dc; }
.c-thread-content { min-width: 0; }
.c-thread-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.c-thread-heading h3 { margin: 0; font-size: 15px; }
.c-message-list { padding: 24px; max-height: 670px; overflow: auto; }
.c-message { margin: 0 0 16px; padding: 16px; border-radius: 9px; border: 1px solid #dfebe5; background: #f1f7f3; }
.c-message.c-inbound { background: #fff; border-color: #dfe7e5; margin-right: 36px; }
.c-message.c-outbound { margin-left: 36px; }
.c-message-meta { display: flex; justify-content: space-between; gap: 12px; font-size: 10px; color: var(--muted); margin-bottom: 10px; }
.c-message-meta strong { color: #456b5b; }
.c-message-body { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
.c-message-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; font-size: 9px; color: var(--muted); }
.c-quote-attachment { margin-top: 12px; max-width: 100%; white-space: normal; text-align: left; }
.c-participant-welcome { display: flex; align-items: center; gap: 17px; padding: 26px 0 24px; }
.c-welcome-copy { flex: 1; }
.c-michelle-profile { display: flex; align-items: center; gap: 9px; font-size: 11px; color: var(--muted); }
.c-participant-welcome h2 { margin: 0 0 8px; font-size: 27px; letter-spacing: -.8px; }
.c-participant-welcome p { margin: 0; color: var(--muted); font-size: 12px; }
.c-preview-shift { display: grid; grid-template-columns: 165px minmax(0,1fr); gap: 24px; padding: 23px 24px; }
.c-preview-shift + .c-preview-shift { border-top: 1px solid var(--line); }
.c-preview-date strong { display: block; font-size: 13px; }
.c-preview-date span { display: block; margin-top: 6px; font-size: 11px; color: var(--muted); }
.c-preview-shift-detail h3 { margin: 0 0 9px; font-size: 15px; }
.c-location { font-size: 12px; color: var(--muted); margin: 11px 0 0; white-space: pre-wrap; }
.c-participant-instructions { margin-top: 15px; padding: 13px 15px; background: #f0f6ee; border-radius: 7px; color: #54715b; }
.c-participant-instructions strong { display: block; font-size: 10px; margin-bottom: 7px; }
.c-participant-instructions div { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; }
.c-past-shifts { margin-top: 22px; }
.c-past-shifts summary { padding: 19px 24px; cursor: pointer; font-size: 13px; font-weight: 600; }
.c-past-shifts[open] summary { border-bottom: 1px solid var(--line); }
.c-preview-messages { padding: 24px 24px 0; max-height: 500px; overflow: auto; }
.c-reply-form { padding: 24px; border-top: 1px solid var(--line); }
.c-reply-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; }
.c-reply-actions .field-hint { margin: 0; }
.c-quote-list { padding: 0 24px; }
.c-quote-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; font-size: 12px; }
.c-quote-row + .c-quote-row { border-top: 1px solid var(--line); }
.c-prototype-note { margin-top: 0; }
.c-schedule-panel { margin-bottom: 22px; }
.c-schedule-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 0; }
.c-schedule-row + .c-schedule-row { border-top: 1px solid var(--line); }
.c-schedule-row strong { font-size: 12px; }
.c-schedule-snippet { font-size: 11px; color: var(--muted); margin-top: 7px; overflow-wrap: anywhere; }
.c-copy-message { margin-top: 10px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 1050px) {
  .c-messaging { grid-template-columns: 190px minmax(0,1fr); }
  .c-message.c-outbound { margin-left: 14px; }
  .c-message.c-inbound { margin-right: 14px; }
}
@media (max-width: 680px) {
  .c-participant-body { padding: 16px; }
  .c-messaging { display: block; }
  .c-thread-list { display: flex; gap: 6px; overflow-x: auto; max-height: none; border-right: 0; border-bottom: 1px solid var(--line); }
  .c-thread { width: 145px; flex: 0 0 145px; margin: 0; }
  .c-thread-heading, .c-message-list, .c-preview-messages, .c-reply-form { padding: 16px; }
  .c-message-meta, .c-message-footer { flex-wrap: wrap; gap: 5px; }
  .c-preview-shift { grid-template-columns: 1fr; gap: 14px; padding: 19px 16px; }
  .c-preview-date { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
  .c-preview-date span { margin: 0; }
  .c-preview-picker .panel-header, .c-field-header { flex-wrap: wrap; }
  .c-recipient-chooser { grid-template-columns: 1fr; }
  .c-reply-actions, .c-quote-row { flex-wrap: wrap; }
  .c-reply-actions .btn { width: 100%; }
  .c-prototype-note { font-size: 11px; }
  .c-participant-toolbar { flex-wrap: wrap; }
  .c-birthday-list { padding: 0 16px; }
  .c-schedule-row { flex-wrap: wrap; }
  .c-photo-editor { align-items: flex-start; flex-wrap: wrap; }
  .c-participant-welcome { flex-wrap: wrap; }
  .c-michelle-profile { margin-left: 78px; }
}
