/* Group attachments reuse the blue glass palette; files remain secondary to the message. */
.group-attachment-compose { min-width: 0; width: 100%; grid-column: 1 / -1; }
.group-attachment-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.group-attachment-tools .button { min-height: 44px; padding: 8px 10px; font-size: 12px; }
.group-attachment-tools small, .group-file-copy small, .group-attachment-note { color: var(--ink-muted, #61758b); font-size: 11px; line-height: 1.5; }
.group-attachment-drafts { padding: 0; margin: 6px 0; list-style: none; max-height: min(180px, 25dvh); overflow-y: auto; overscroll-behavior: contain; }
.group-attachment-drafts > li { display: flex; align-items: center; min-width: 0; gap: 8px; padding: 7px 0; border-top: 1px solid var(--line, #d9e6f2); }
.group-file-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 9px; background: var(--action-soft, #e7f1fb); color: var(--action, #1466d8); overflow: hidden; }
.group-file-icon img { width: 100%; height: 100%; object-fit: cover; }
.group-file-icon svg { width: 20px; height: 20px; }
.group-file-copy { min-width: 0; flex: 1; }
.group-file-copy strong { display: block; font-size: 12px; overflow-wrap: anywhere; line-height: 1.45; }
.group-file-copy small { display: block; overflow-wrap: anywhere; }
.group-file-copy progress { width: 100%; height: 5px; accent-color: var(--action, #1466d8); }
.group-file-actions { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.group-file-actions .button, .group-file-actions .icon-button { min-width: 44px; min-height: 44px; padding: 6px 9px; font-size: 11px; }
.group-attachment-note { margin: 6px 0 4px; }
.group-sent-file { display: flex; align-items: flex-start; gap: 9px; margin-top: 8px; padding: 10px 12px; background: var(--group-bubble, #fff); border: 1px solid var(--line, #d9e6f2); border-radius: 12px; max-width: min(100%, 520px); }
.group-sent-file > svg { width: 22px; height: 22px; flex: 0 0 22px; color: var(--action, #1466d8); }
.group-file-preview { display: block; max-width: 100%; max-height: 45dvh; width: auto; height: auto; object-fit: contain; margin-top: 8px; border-radius: 8px; }
.group-system-events { margin: 4px 0 12px 44px; font-size: 12px; color: var(--ink-muted, #61758b); }
.group-system-events summary { min-height: 44px; display: flex; align-items: center; gap: 8px; cursor: pointer; }
.group-system-events summary svg { height: 14px; width: 14px; }
.group-system-events ol { padding: 0 0 0 18px; margin: 0; }
.group-system-events li { padding: 7px 0; }
.group-system-events time { font-size: 11px; }
.group-markdown { overflow-wrap: anywhere; white-space: normal; min-width: 0; }
.group-markdown p { margin: 7px 0; }
.group-markdown > :first-child { margin-top: 0; }
.group-markdown > :last-child { margin-bottom: 0; }
.group-markdown h4 { font-size: 14px; margin: 14px 0 6px; line-height: 1.5; }
.group-markdown ul, .group-markdown ol { padding-left: 22px; margin: 7px 0; }
.group-markdown li { margin: 4px 0; }
.group-markdown blockquote { margin: 8px 0; padding: 4px 10px; border-left: 3px solid var(--action, #1466d8); color: var(--ink-muted, #61758b); }
.group-markdown code { font-family: ui-monospace, monospace; font-size: .92em; background: var(--action-soft, #e7f1fb); border-radius: 4px; padding: 1px 4px; }
.group-markdown pre { overflow-x: auto; white-space: pre; max-width: 100%; padding: 12px; border-radius: 9px; background: var(--action-soft, #e7f1fb); }
.group-markdown pre code { padding: 0; background: transparent; }
.group-markdown a { color: var(--action, #1466d8); text-decoration: underline; text-underline-offset: 3px; }
.group-md-table { overflow-x: auto; max-width: 100%; margin: 10px 0; border: 1px solid var(--line, #d9e6f2); border-radius: 8px; }
.group-md-table table { border-collapse: collapse; min-width: 100%; font-size: 12px; }
.group-md-table th, .group-md-table td { padding: 8px 10px; border: 1px solid var(--line, #d9e6f2); text-align: left; min-width: 90px; vertical-align: top; }
.group-md-table th { background: var(--action-soft, #e7f1fb); }
.group-md-table:focus-visible, .group-system-events summary:focus-visible { outline: 2px solid var(--action, #1466d8); outline-offset: 3px; }
@media (max-width: 800px) {
  .group-attachment-tools { gap: 2px 8px; }
  .group-attachment-tools small { font-size: 10px; }
  .group-attachment-drafts { max-height: min(140px, 23dvh); }
  .group-file-copy strong { font-size: 12px; }
  .group-file-actions { gap: 1px; }
  .group-system-events { margin-left: 0; }
  .group-sent-file { padding: 9px; }
}
.group-short-viewport .group-attachment-tools small, .group-short-viewport .group-attachment-note { display: none; }
.group-short-viewport .group-attachment-drafts { max-height: 64px; }
.group-short-viewport .group-attachment-tools .button { padding-block: 5px; }

/* A short viewport scrolls auxiliary controls instead of pushing the input off-screen. */
.group-short-viewport .group-composer-wrap { min-height: 0; max-height: 100%; overflow-y: auto; overscroll-behavior: contain; }
.group-short-viewport .group-composer { display: flex; flex-wrap: wrap; align-items: end; gap: 4px 8px; }
.group-short-viewport .group-composer textarea { flex: 1; min-width: 0; width: 0; }
.group-short-viewport .group-attachment-compose { order: 3; flex-basis: 100%; }
.group-short-viewport .group-room-head { min-height: 44px; }
.group-attachment-delivery{font-size:12px;line-height:1.5;color:var(--ink-muted);margin:8px 0;overflow-wrap:anywhere}
