/* Messenger dialogs workspace v1 */
body[data-active="teacherDialog"] .content {
  height: calc(100vh - 68px);
  max-height: calc(100vh - 68px);
  min-height: 0;
  overflow: hidden;
  padding: 10px 12px 12px;
}
.messenger-workspace-page { height: 100%; min-height: 0; }
.messenger-workspace-layout {
  display: grid;
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  height: 100%; min-height: 0;
  border: 1px solid var(--line, var(--border));
  border-radius: 24px; overflow: hidden;
  background: var(--panel, #fff);
  box-shadow: 0 18px 50px rgba(20, 48, 29, .07);
}
.messenger-workspace-sidebar,
.messenger-workspace-chat { min-width: 0; min-height: 0; background: var(--panel, #fff); }
.messenger-workspace-sidebar { display: flex; flex-direction: column; border-right: 1px solid var(--line, var(--border)); }
.messenger-workspace-sidebar-head { display: grid; gap: 14px; padding: 18px; border-bottom: 1px solid var(--line, var(--border)); }
.messenger-workspace-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.messenger-workspace-title-row h2 { margin: 0; font-size: 24px; }
.messenger-workspace-head-actions { display: flex; gap: 8px; align-items: center; }
.messenger-workspace-new { min-height: 40px; padding: 8px 13px; border-radius: 12px; }
.messenger-workspace-tabs { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.messenger-workspace-tabs::-webkit-scrollbar { display: none; }
.messenger-workspace-tab { border: 0; border-radius: 12px; padding: 9px 11px; background: transparent; color: var(--muted); font-weight: 700; white-space: nowrap; cursor: pointer; }
.messenger-workspace-tab span { margin-left: 3px; }
.messenger-workspace-tab.active { background: var(--soft-green, rgba(36,115,56,.1)); color: var(--accent); }
.messenger-workspace-search { min-height: 42px; border-radius: 13px; }
.messenger-workspace-dialogs { flex: 1; min-height: 0; overflow: auto; padding: 10px; display: grid; align-content: start; gap: 6px; }
.messenger-workspace-dialog { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; align-items: center; gap: 11px; width: 100%; padding: 11px; border: 1px solid transparent; border-radius: 16px; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.messenger-workspace-dialog:hover, .messenger-workspace-dialog.active { background: var(--soft-green, rgba(36,115,56,.08)); border-color: rgba(36,115,56,.25); }
.messenger-workspace-avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; background: color-mix(in srgb, var(--accent) 12%, var(--panel)); color: var(--accent); font-weight: 800; }
.messenger-workspace-avatar img { width: 100%; height: 100%; object-fit: cover; }
.messenger-workspace-dialog-body { min-width: 0; display: grid; gap: 3px; }
.messenger-workspace-dialog-head { display: flex; gap: 8px; align-items: baseline; justify-content: space-between; min-width: 0; }
.messenger-workspace-dialog-head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.messenger-workspace-dialog-head time { color: var(--muted); white-space: nowrap; font-size: 11px; }
.messenger-workspace-dialog-preview { color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.messenger-workspace-dialog-kind { color: color-mix(in srgb, var(--muted) 78%, transparent); font-size: 10px; }
.messenger-workspace-empty { display: grid; justify-items: center; gap: 7px; padding: 32px 18px; color: var(--muted); text-align: center; }
.messenger-workspace-empty strong { color: inherit; }
.messenger-workspace-chat { display: flex; flex-direction: column; }
.messenger-workspace-chat-head { display: flex; align-items: center; gap: 12px; min-height: 76px; padding: 13px 18px; border-bottom: 1px solid var(--line, var(--border)); }
.messenger-workspace-chat-title { min-width: 0; display: grid; gap: 3px; }
.messenger-workspace-chat-title strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 17px; }
.messenger-workspace-chat-title span { color: var(--muted); font-size: 12px; }
.messenger-workspace-feed { flex: 1; min-height: 0; overflow: auto; padding: 20px clamp(18px, 4vw, 58px); display: flex; flex-direction: column; gap: 10px; }
.messenger-workspace-message { display: grid; gap: 4px; max-width: min(76%, 680px); }
.messenger-workspace-message.is-own { align-self: end; justify-items: end; }
.messenger-workspace-message.is-other { align-self: start; justify-items: start; }
.messenger-workspace-author { color: var(--muted); font-size: 11px; padding: 0 5px; }
.messenger-workspace-bubble { border: 1px solid var(--line, var(--border)); border-radius: 17px; padding: 11px 13px 8px; background: var(--panel, #fff); overflow-wrap: anywhere; }
.messenger-workspace-message.is-own .messenger-workspace-bubble { background: color-mix(in srgb, var(--accent) 15%, var(--panel)); border-color: color-mix(in srgb, var(--accent) 30%, var(--line)); }
.messenger-workspace-bubble p { margin: 0; line-height: 1.45; }
.messenger-workspace-bubble time { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; text-align: right; }
.messenger-workspace-feed-empty { margin: auto; display: grid; justify-items: center; gap: 7px; color: var(--muted); }
.messenger-workspace-composer { display: grid; grid-template-columns: minmax(0,1fr) 46px; gap: 10px; padding: 12px 18px 16px; border-top: 1px solid var(--line, var(--border)); }
.messenger-workspace-composer textarea { max-height: 132px; min-height: 46px; border-radius: 16px; }
.messenger-workspace-channel-warning { grid-column: 1 / -1; margin: 0; padding: 9px 12px; border-radius: 12px; background: color-mix(in srgb, var(--accent) 9%, transparent); color: var(--muted); font-size: 12px; }
.messenger-workspace-send { width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--accent); color: #fff; font-size: 21px; cursor: pointer; }
.messenger-workspace-send:disabled { opacity: .55; cursor: wait; }
.messenger-workspace-chat-empty { display: grid; place-items: center; text-align: center; color: var(--muted); }
.messenger-workspace-empty-icon { width: 68px; height: 68px; border-radius: 22px; display: grid; place-items: center; margin: 0 auto 14px; background: var(--soft-green, rgba(36,115,56,.1)); color: var(--accent); font-size: 28px; }
.messenger-workspace-chat-empty h2 { margin: 0 0 8px; color: var(--text, inherit); }
.messenger-workspace-chat-empty p { margin: 0; }
.messenger-new-chat-backdrop { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: rgba(4,16,10,.58); backdrop-filter: blur(8px); }
.messenger-new-chat-modal { width: min(620px, 100%); max-height: min(720px, calc(100vh - 40px)); display: flex; flex-direction: column; gap: 14px; padding: 22px; border: 1px solid var(--line, var(--border)); border-radius: 24px; background: var(--panel, #fff); box-shadow: 0 28px 90px rgba(0,0,0,.24); }
.messenger-new-chat-modal header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.messenger-new-chat-modal h2, .messenger-new-chat-modal p { margin: 0; }
.messenger-new-chat-modal p { margin-top: 5px; color: var(--muted); }
.messenger-new-chat-modal header button { width: 38px; height: 38px; border: 0; border-radius: 12px; background: var(--panel-2, #eef4ef); color: inherit; font-size: 25px; cursor: pointer; }
.messenger-new-chat-list { min-height: 0; overflow: auto; display: grid; gap: 7px; }
.messenger-new-chat-person { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 12px; align-items: center; width: 100%; padding: 11px 13px; border: 1px solid var(--line, var(--border)); border-radius: 16px; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.messenger-new-chat-person:hover,
.messenger-new-chat-person.is-active { background: var(--soft-green, rgba(36,115,56,.1)); border-color: rgba(36,115,56,.42); box-shadow: 0 0 0 3px rgba(36,115,56,.08); }
.messenger-new-chat-hint { display: grid; gap: 7px; padding: 18px; border: 1px dashed var(--line, var(--border)); border-radius: 16px; color: var(--muted); background: var(--panel-2, rgba(36,115,56,.04)); }
.messenger-new-chat-hint strong { color: var(--text, inherit); font-size: 18px; }
.messenger-new-chat-error { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 1px solid rgba(190,50,50,.25); border-radius: 16px; background: rgba(190,50,50,.06); color: #a52222; }
.messenger-new-chat-error button { border: 1px solid currentColor; border-radius: 10px; padding: 8px 12px; background: transparent; color: inherit; font-weight: 700; cursor: pointer; }
.messenger-new-chat-person span:nth-child(2) { min-width: 0; display: grid; gap: 4px; }
.messenger-new-chat-person strong, .messenger-new-chat-person small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.messenger-new-chat-person small { color: var(--muted); }
.messenger-new-chat-person b { color: var(--accent); }
body[data-theme="dark"] .messenger-workspace-layout,
body[data-theme="dark"] .messenger-workspace-sidebar,
body[data-theme="dark"] .messenger-workspace-chat,
body[data-theme="dark"] .messenger-new-chat-modal,
body[data-theme="dark"] .messenger-workspace-bubble { background: #0d1712; }
body[data-theme="dark"] .messenger-workspace-feed { background-color: #08110d; }
body[data-theme="dark"] .messenger-workspace-message.is-own .messenger-workspace-bubble { background: #173d27; }
@media (max-width: 900px) {
  body[data-active="teacherDialog"] .content { height: calc(100dvh - 62px); max-height: calc(100dvh - 62px); padding: 6px; }
  .messenger-workspace-layout { grid-template-columns: 1fr; border-radius: 18px; }
  .messenger-workspace-sidebar.mobile-hidden, .messenger-workspace-chat.mobile-hidden { display: none; }
  .messenger-workspace-chat-head .messenger-v2-back { display: inline-flex; }
  .messenger-workspace-message { max-width: 88%; }
}
@media (max-width: 520px) {
  .messenger-workspace-sidebar-head { padding: 14px; }
  .messenger-workspace-title-row { align-items: flex-start; }
  .messenger-workspace-head-actions { flex-direction: column; align-items: stretch; }
  .messenger-workspace-new { white-space: nowrap; }
  .messenger-workspace-feed { padding: 14px; }
}

/* ZG MESSENGER COMPACT BUBBLES 2026-07-30 */
.messenger-workspace-message {
  width: fit-content;
}

.messenger-workspace-bubble {
  width: fit-content;
  max-width: min(420px, 100%);
}

/* ZG MESSENGER MOBILE PERSON NAME WRAP 2026-07-30 */
@media (max-width: 560px) {
  .messenger-new-chat-person {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
  }

  .messenger-new-chat-person span:nth-child(2) {
    min-width: 0;
  }

  .messenger-new-chat-person strong {
    display: block;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    line-height: 1.18;
  }
}
