.page-body-messages-admin {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  flex: 1 1 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.dayview-messages {
  --dm-canvas: #050505;
  --dm-bg: #0a0a0a;
  --dm-surface: rgba(255, 255, 255, 0.04);
  --dm-surface-2: rgba(255, 255, 255, 0.08);
  --dm-line: rgba(195, 164, 114, 0.18);
  --dm-line-strong: rgba(195, 164, 114, 0.45);
  --dm-ink: #f5f1e8;
  --dm-muted: #b8b2a8;
  --dm-faint: #8e8981;
  --dm-accent: #c3a472;
  --dm-accent-hover: #b4996d;
  --dm-danger: var(--accent-danger);
  width: 100%;
  height: 100%;
  min-height: 0;
  color: var(--dm-ink);
  background: var(--dm-canvas);
  font: 400 14px/1.45 Inter, "DM Sans", system-ui, sans-serif;
}

.dayview-messages *, .dayview-messages *::before, .dayview-messages *::after { box-sizing: border-box; }
.dayview-messages button, .dayview-messages input, .dayview-messages textarea { color: inherit; font: inherit; }
.dayview-messages button { cursor: pointer; }
.dayview-messages button:disabled { cursor: not-allowed; opacity: 0.42; }
.dayview-messages .messages-toolbar-btn { min-height: 44px; }
.dayview-messages :focus-visible { outline: 2px solid var(--dm-accent); outline-offset: 2px; }
.dayview-messages svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.dm-stage {
  display: grid;
  grid-template-columns: 332px minmax(420px, 1fr) 280px;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: var(--dm-bg);
}

.dm-rail, .dm-main, .dm-detail { min-width: 0; min-height: 0; background: var(--dm-bg); }
.dm-rail { position: relative; display: flex; flex-direction: column; border-right: 1px solid var(--dm-line); }
.dm-main { position: relative; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; overflow: hidden; }
.dm-main > .dm-thread-head { grid-row: 1; }
.dm-main > .dm-status, .dm-main > .dm-group-notice { grid-row: 2; }
.dm-main > .dm-transcript { grid-row: 3; }
.dm-main > .dm-composer { grid-row: 4; }
.dm-detail { padding: 28px 20px; overflow: auto; border-left: 1px solid var(--dm-line); text-align: center; }

.dm-brand-row, .dm-thread-head { display: flex; min-height: 68px; align-items: center; gap: 7px; padding: 0 12px; border-bottom: 1px solid var(--dm-line); }
.dm-brand-copy, .dm-thread-title { min-width: 0; flex: 1; }
.dm-brand-copy h1, .dm-thread-title strong { display: block; overflow: hidden; margin: 0; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.dm-brand-copy span, .dm-thread-title span { display: block; overflow: hidden; color: var(--dm-faint); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dm-brand-home { display: flex; min-width: 44px; height: 44px; align-items: center; padding: 0; color: var(--dm-ink); background: transparent; border: 0; }
.dm-brand-home .messages-brand-mark { display: grid; width: 30px; height: 30px; place-items: center; color: var(--dm-accent); background: var(--dm-canvas); border: 1px solid var(--dm-line); border-radius: 50%; }
.dm-brand-home .messages-brand-mark svg { width: 18px; height: 23px; }
.dm-brand-home .messages-brand-copy { display: none; }
.dm-icon-button, .dm-compose-button, .dm-send-button { display: grid; width: 44px; min-width: 44px; height: 44px; place-items: center; padding: 0; border: 0; border-radius: 8px; background: transparent; }
.dm-icon-button:hover, .dm-compose-button:hover { background: var(--dm-surface-2); }
.dayview-messages .therapist-group-composer .dm-compose-button,
.dayview-messages .therapist-group-composer .dm-send-button { box-sizing: border-box; border-radius: 50%; }
.dayview-messages .therapist-group-composer .dm-compose-button { color: var(--dm-ink); background: var(--dm-surface); border: 1px solid var(--dm-line); }

.dm-search { display: flex; height: 32px; flex: 0 0 auto; align-items: center; gap: 7px; margin: 8px 12px; padding: 0 9px; color: var(--dm-faint); background: var(--dm-surface); border: 1px solid transparent; border-radius: 8px; }
.dm-search:focus-within { border-color: var(--dm-accent); }
.dm-search svg { width: 16px; height: 16px; }
.dm-search input { width: 100%; min-width: 0; padding: 0; background: transparent; border: 0; outline: 0; font-size: 12px; }
.dm-search input::placeholder { color: var(--dm-faint); }

.dm-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 4px 12px 8px; padding: 3px; background: var(--dm-surface); border-radius: 10px; }
.dm-tabs button { min-height: 44px; padding: 5px 10px; color: var(--dm-muted); background: transparent; border: 0; border-radius: 8px; font-size: 11px; }
.dm-tabs button[aria-selected="true"] { color: var(--dm-ink); background: var(--dm-surface-2); }
.dm-status { min-height: 0; padding: 0 14px; color: var(--dm-muted); font-size: 10px; }
.dm-status:empty { display: none; }
.dm-status-error { color: var(--dm-danger); }
.dm-conversation-list { min-height: 0; flex: 1; overflow: auto; padding: 4px 8px 12px; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--dm-surface-2) transparent; }

.dayview-messages .therapist-group-strip { position: sticky; z-index: 3; top: 0; display: grid; width: 100%; min-height: 70px; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; margin: 0; padding: 10px; color: var(--dm-ink); background: var(--dm-bg); border: 0; border-top: 1px solid var(--dm-line); border-bottom: 1px solid var(--dm-line); border-radius: 0; box-shadow: none; text-align: left; }
.dayview-messages .therapist-group-strip:hover { background: var(--dm-surface); }
.dayview-messages .therapist-group-strip-copy { display: grid; min-width: 0; }
.dayview-messages .therapist-group-strip-title { overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.dayview-messages .therapist-group-strip-preview { overflow: hidden; color: var(--dm-faint); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.dayview-messages .therapist-group-avatar { background: var(--dm-accent); color: var(--dm-canvas); }
.dayview-messages .messages-conversation-row { position: relative; display: grid !important; width: 100%; grid-template-columns: 38px minmax(0, 1fr) auto !important; min-height: 70px !important; align-items: center !important; gap: 10px !important; padding: 10px !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; cursor: pointer; text-align: left; }
.dayview-messages .messages-conversation-row:hover, .dayview-messages .messages-conversation-row.selected { background: var(--dm-surface) !important; }
.dayview-messages .messages-conversation-row.has-unread { background: transparent !important; }
.dayview-messages .messages-row-priority { display: none; }
.dayview-messages .messages-avatar, .dm-thread-avatar, .dm-detail-avatar, .dayview-messages .therapist-group-avatar { display: grid !important; width: 38px !important; height: 38px !important; place-items: center; flex: 0 0 auto; color: var(--dm-canvas) !important; background: var(--dm-accent) !important; border-radius: 50%; font-size: 11px !important; font-weight: 600; }
.dayview-messages .messages-conversation-meta { display: block !important; min-width: 0 !important; }
.dayview-messages .messages-conversation-name-row { display: flex !important; min-width: 0; align-items: center; gap: 6px !important; }
.dayview-messages .messages-conversation-name { min-width: 0; overflow: hidden; flex: 1; color: var(--dm-ink) !important; font-size: 12px !important; font-weight: 600 !important; text-overflow: ellipsis; white-space: nowrap; }
.dayview-messages .messages-conversation-subline { overflow: hidden; color: var(--dm-faint) !important; font-size: 10px !important; text-overflow: ellipsis; white-space: nowrap; }
.dayview-messages .messages-conversation-right { display: grid !important; min-width: 28px !important; justify-items: end !important; gap: 4px !important; }
.dayview-messages .messages-conversation-time { color: var(--dm-faint); font-size: 9px; }
.dayview-messages .messages-conversation-unread { display: grid; min-width: 18px; height: 18px; place-items: center; padding: 0 5px; color: var(--dm-canvas); background: var(--dm-accent); border-radius: 9px; font-size: 9px; font-weight: 700; }
.dayview-messages .messages-row-chips, .dayview-messages .messages-conversation-inline-action { display: none; }

.dm-thread-avatar { width: 34px; height: 34px; }
.dm-mobile-back { display: none; }
.dayview-messages .dm-transcript { display: block; min-height: 0; overflow: auto; padding: 20px 18px !important; background: var(--dm-canvas); overscroll-behavior: contain; }
.dayview-messages .messages-thread-item { display: flex; margin: 8px 0; }
.dayview-messages .messages-thread-item.outbound { justify-content: flex-end; }
.dayview-messages .messages-thread-bubble { max-width: min(620px, 76%); padding: 9px 11px; background: var(--dm-surface-2); border-radius: 13px 13px 13px 4px; }
.dayview-messages .messages-thread-item.outbound .messages-thread-bubble { color: var(--dm-canvas); background: var(--dm-accent); border-radius: 13px 13px 4px 13px; }
.dayview-messages .messages-thread-item.failed .messages-thread-bubble { box-shadow: inset 0 0 0 1px var(--dm-danger); }
.dayview-messages .messages-thread-text { overflow-wrap: anywhere; white-space: normal; }
.dayview-messages .messages-thread-meta { margin-top: 4px; color: inherit; font-size: 9px; opacity: .66; text-align: right; }
.dayview-messages .messages-thread-date-separator { display: flex; justify-content: center; margin: 16px 0; color: var(--dm-faint); font-size: 9px; }
.dayview-messages .messages-thread-date-separator span { padding: 4px 8px; background: var(--dm-surface); border-radius: 8px; }
.dayview-messages .messages-thread-image { display: block; max-width: 100%; max-height: 320px; margin-top: 6px; border-radius: 9px; }
.dayview-messages .messages-thread-recovery-actions { display: flex; justify-content: flex-end; gap: 6px; margin-top: 7px; }
.dayview-messages .messages-thread-recovery-actions button { min-height: 44px; padding: 4px 9px; color: inherit; background: rgba(0,0,0,.12); border: 1px solid currentColor; border-radius: 7px; font-size: 10px; }

.dayview-messages .dm-composer { position: relative !important; inset: auto !important; z-index: 2; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: end; gap: 7px; margin: 0 !important; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)) !important; background: var(--dm-bg) !important; border: 0; border-top: 1px solid var(--dm-line); border-radius: 0; }
.dm-composer textarea { width: 100%; min-height: 40px; max-height: 132px; resize: none; padding: 10px 12px; color: var(--dm-ink); background: var(--dm-surface); border: 1px solid var(--dm-line); border-radius: 12px; outline: 0; }
.dm-composer textarea:focus { border-color: var(--dm-accent); }
.dm-preview { grid-column: 1 / -1; }
.dayview-messages .dm-send-button,
.dayview-messages .dm-new-message-fab { color: #15120b; background: var(--dm-accent); }
.dayview-messages .dm-send-button:hover,
.dayview-messages .dm-new-message-fab:hover { background: var(--dm-accent-hover); }
.dayview-messages .messages-attachment-input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.dm-detail-avatar { width: 54px; height: 54px; margin: 18px auto 12px; font-size: 14px; }
.dm-detail h2 { margin: 0; overflow-wrap: anywhere; font-size: 15px; }
.dm-detail > p { margin: 4px 0 20px; color: var(--dm-muted); font-size: 11px; }
.dm-detail-card { padding: 12px; text-align: left; background: var(--dm-surface); border-radius: 10px; }
.dm-detail-card span { display: block; color: var(--dm-faint); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.dm-detail-card strong { display: block; margin-top: 4px; font-size: 11px; font-weight: 500; }
.dm-detail-action { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; background: var(--dm-surface); border: 1px solid var(--dm-line); border-radius: 10px; }
.dm-detail-empty, .dm-thread-empty { color: var(--dm-faint); }
.dm-thread-empty { display: grid; place-content: center; justify-items: center; padding: 32px; text-align: center; }
.dm-thread-empty > span { display: grid; width: 54px; height: 54px; place-items: center; background: var(--dm-surface); border-radius: 16px; }
.dm-thread-empty h1 { margin: 14px 0 5px; color: var(--dm-ink); font-size: 17px; }
.dm-thread-empty p { margin: 0; font-size: 11px; }
.dm-mobile-nav, .dm-new-message-fab { display: none; }

.dm-contacts-panel { display: flex; min-height: 0; flex: 1; flex-direction: column; }
.dm-contacts-head { display: flex; min-height: 68px; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; padding: 0 12px; border-bottom: 1px solid var(--dm-line); }
.dm-contacts-head strong { font-size: 12px; font-weight: 600; }
.dm-contacts-close { min-width: 44px; min-height: 44px; padding: 0 8px; color: var(--dm-muted); background: transparent; border: 0; border-radius: 8px; font-size: 11px; }
.dm-contacts-close:hover { color: var(--dm-ink); background: var(--dm-surface); }
.dm-contacts-list { min-height: 0; flex: 1; overflow: auto; padding: 5px 8px 12px; overscroll-behavior: contain; }
.dm-contact-result { display: grid; width: 100%; min-height: 62px; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 9px; padding: 9px 8px; color: var(--dm-ink); background: transparent; border: 0; border-radius: 8px; text-align: left; }
.dm-contact-result:hover { background: var(--dm-surface); }
.dm-contact-avatar { display: grid; width: 38px; height: 38px; place-items: center; color: var(--dm-canvas); background: var(--dm-accent); border-radius: 50%; font-size: 11px; font-weight: 600; }
.dm-contact-copy { display: block; min-width: 0; }
.dm-contact-copy strong, .dm-contact-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dm-contact-copy strong { font-size: 12px; font-weight: 600; }
.dm-contact-copy span { margin-top: 2px; color: var(--dm-faint); font-size: 10px; }
.dm-contacts-empty { padding: 28px 12px; color: var(--dm-muted); font-size: 12px; text-align: center; }

.dm-group-notice { min-height: 0; padding: 8px 14px; color: var(--dm-muted); background: rgba(255,255,255,.025); border-bottom: 1px solid var(--dm-line); font-size: 10px; line-height: 1.4; }
.dm-group-notice .error { color: var(--dm-danger); }
.dayview-messages .therapist-group-message { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 9px; margin: 12px 0 3px; }
.dayview-messages .therapist-group-message.grouped { margin-top: 3px; }
.dayview-messages .therapist-group-message.group-end { margin-bottom: 12px; }
.dayview-messages .therapist-group-message.mine { display: flex; justify-content: flex-end; }
.dayview-messages .therapist-group-message-avatar { display: grid; width: 34px; height: 34px; place-items: center; overflow: hidden; color: #15120b; background: var(--therapist-group-participant-color); border-radius: 50%; font-size: 11px; font-weight: 800; }
.dayview-messages .therapist-group-message-avatar img { width: 100%; height: 100%; object-fit: cover; }
.dayview-messages .therapist-group-message-stack { display: flex; grid-column: 2; max-width: min(620px, 76%); min-width: 0; flex-direction: column; align-items: flex-start; }
.dayview-messages .therapist-group-message.mine .therapist-group-message-stack { align-items: flex-end; }
.dayview-messages .therapist-group-message-bubble { width: fit-content; max-width: 100%; padding: 9px 11px; color: var(--dm-ink); background: color-mix(in srgb, var(--therapist-group-participant-color) 22%, var(--dm-bg)); border-radius: 13px 13px 13px 4px; touch-action: pan-y; -webkit-touch-callout: none; }
.dayview-messages .therapist-group-message.mine .therapist-group-message-bubble { color: #15120b; background: var(--dm-accent); border-radius: 13px 13px 4px 13px; }
.dayview-messages .therapist-group-message-bubble:focus-visible { outline: 2px solid var(--dm-ink); outline-offset: 2px; }
.dayview-messages .therapist-group-message.mine .therapist-group-seen { color: rgba(16,12,7,.62); }
.dayview-messages .therapist-group-message-body { overflow-wrap: anywhere; white-space: pre-wrap; }
.dayview-messages .therapist-group-message-name { margin: 0 0 4px; color: var(--therapist-group-participant-color); font-size: 10px; font-weight: 800; }
.dayview-messages .therapist-group-message-meta { margin-top: 4px; color: var(--dm-faint); font-size: 9px; }
.dayview-messages .therapist-group-reaction-summaries { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.dayview-messages .therapist-group-reaction-summary { display: inline-flex; min-height: 22px; align-items: center; padding: 1px 7px; color: inherit; background: rgba(0,0,0,.18); border: 1px solid var(--dm-line-strong); border-radius: 11px; font-size: 11px; }
.dayview-messages .therapist-group-message.mine .therapist-group-reaction-summary { background: rgba(16,12,7,.1); border-color: rgba(16,12,7,.24); }
.dayview-messages .therapist-group-reaction-summary.mine { box-shadow: inset 0 0 0 1px currentColor; }
.dayview-messages .therapist-group-seen,
.dayview-messages .therapist-group-typing { margin-top: 5px; color: var(--dm-faint); font-size: 9px; }
.dayview-messages .therapist-group-media { display: block; max-width: min(420px,100%); margin-top: 7px; }
.dayview-messages .therapist-group-media img { display: block; max-width: 100%; max-height: 320px; border-radius: 9px; }
.dayview-messages .therapist-group-media audio { width: min(360px,100%); }
.dayview-messages .therapist-group-load-older { display: block; min-height: 44px; margin: 0 auto 14px; padding: 7px 14px; color: var(--dm-accent); background: transparent; border: 1px solid var(--dm-line-strong); border-radius: 8px; }
.dayview-messages .therapist-group-empty { padding: 30px 16px; color: var(--dm-faint); text-align: center; }
.dayview-messages .therapist-group-composer textarea { width: 100%; min-height: 40px; max-height: 132px; resize: none; padding: 10px 12px; color: var(--dm-ink); background: var(--dm-surface); border: 1px solid var(--dm-line); border-radius: 12px; outline: 0; }

.therapist-group-action-menu { --dm-accent: #c3a472; --dm-accent-hover: #b4996d; position: fixed; z-index: 8050; max-width: calc(100vw - 16px); padding: 7px; color: #f5f1e8; background: #0a0a0a; border: 1px solid color-mix(in srgb, var(--dm-accent) 45%, transparent); border-radius: 18px; box-shadow: 0 14px 36px rgba(0,0,0,.5); }
.therapist-group-action-menu-reactions { display: flex; gap: 3px; }
.therapist-group-action-menu button { min-width: 44px; min-height: 44px; padding: 0 8px; color: inherit; background: transparent; border: 0; border-radius: 22px; font: inherit; }
.therapist-group-action-menu button:hover,
.therapist-group-action-menu button:active,
.therapist-group-action-menu button.mine { color: #15120b; background: var(--dm-accent-hover); }
.therapist-group-action-menu button:focus-visible { outline: 2px solid var(--dm-accent); outline-offset: -2px; }
.therapist-group-action-menu-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 5px; padding-top: 5px; border-top: 1px solid color-mix(in srgb, var(--dm-accent) 25%, transparent); }
.therapist-group-action-menu-tools button { border-radius: 10px; font-size: 12px; }
.therapist-group-action-menu-tools button.danger { color: #ffaaa3; }

@media (max-width: 1100px) {
  .dm-stage { grid-template-columns: 320px minmax(0, 1fr); }
  .dm-detail { display: none; }
}

@media (max-width: 760px) {
  .dm-stage { display: block; }
  .dm-rail, .dm-main { width: 100%; height: 100%; }
  .dm-main { display: none; }
  .dm-thread-open .dm-rail { display: none; }
  .dm-thread-open .dm-main { display: grid; }
  .dm-brand-row { min-height: 68px; padding-inline: 14px; }
  .dm-thread-head { min-height: 60px; padding-inline: 10px; }
  .dm-search { height: 36px; }
  .dm-mobile-back { display: grid; }
  .dm-conversation-list { padding-bottom: 100px; }
  .dm-contacts-list { padding-bottom: 100px; }
  .dm-mobile-nav { position: absolute; z-index: 8; right: 0; bottom: 0; left: 0; display: flex; height: calc(65px + env(safe-area-inset-bottom)); align-items: center; justify-content: space-around; padding-bottom: env(safe-area-inset-bottom); background: var(--dm-bg); border-top: 1px solid var(--dm-line-strong); }
  .dm-mobile-nav button { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 25%; min-width: 0; height: 64px; gap: 3px; color: var(--dm-muted); background: transparent; border: 0; border-radius: 8px; font-size: 9px; }
  .dm-mobile-nav button span { font-size: 11px; font-weight: 500; line-height: 1; }
  .dm-mobile-nav button[aria-current="page"] { color: var(--dm-accent); background: transparent; box-shadow: none; }
  .dm-new-message-fab { position: absolute; z-index: 9; right: 18px; bottom: 78px; display: grid; width: 48px; height: 48px; place-items: center; color: #15120b; background: var(--dm-accent); border: 0; border-radius: 16px; box-shadow: 0 24px 80px rgba(0,0,0,.32); }
  .dm-thread-open .dm-new-message-fab { display: none; }
  .dm-transcript { padding: 14px 10px; }
  .dayview-messages .messages-thread-bubble { max-width: 86%; }
  .dayview-messages .therapist-group-message-stack { max-width: 86%; }
  .dm-composer { padding-inline: 9px; }
  .dm-composer textarea { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .dayview-messages *, .dayview-messages *::before, .dayview-messages *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (pointer: coarse), (max-width: 600px) {
  .dayview-messages .dm-conversation-list, .dayview-messages .dm-contacts-list, .dayview-messages .dm-transcript { scrollbar-width: none; }
  .dayview-messages ::-webkit-scrollbar { display: none; width: 0; height: 0; }
  .dm-mobile-nav svg { width: 22px; height: 22px; }
}

/* Client visit chats: floating bubble + panel (visit-chat.js). Reuses the Messages look above. */
/* Bubble copied 1:1 from the client portal / Book Now chat bubble (apps/portal/chat.css). */
.visit-chat-bubble { position: fixed; z-index: 1190; right: 18px; bottom: calc(var(--dayview-dock-height, 64px) + env(safe-area-inset-bottom, 0px) + 18px); display: grid; width: 56px; height: 56px; place-items: center; padding: 0; border: 1px solid rgba(255,236,196,.45); border-radius: 50% 50% 6px 50%; background: linear-gradient(135deg, #f0d7a2 0%, #dcba7e 48%, #b88f55 100%); color: #1a140b; box-shadow: 0 10px 24px rgba(0,0,0,.55); cursor: pointer; isolation: isolate; }
#visitChatRoot .visit-chat-bubble svg { display: block; flex: none; width: 30px; height: 30px; max-width: none; }
.visit-chat-bubble::before { content: ''; position: absolute; inset: -1px; z-index: -1; border: 2px solid #dcba7e; border-radius: inherit; opacity: 0; animation: visit-chat-ring 10s ease-out infinite; }
.visit-chat-bubble:focus-visible { outline: 2px solid #dfbf85; outline-offset: 3px; }
@keyframes visit-chat-ring { 0% { transform: scale(1); opacity: .45; } 40%, 100% { transform: scale(1.5); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .visit-chat-bubble::before { animation: none; } }
.visit-chat-badge { position: absolute; top: -7px; right: -7px; display: grid; min-width: 22px; height: 22px; box-sizing: border-box; place-items: center; padding: 0 6px; border: 2px solid var(--bg-primary, #050505); border-radius: 4px; background: linear-gradient(135deg, #ffb27a 0%, #f2793f 48%, #cf4a2c 100%); color: #2a0e05; font: 800 12px/1 Inter, system-ui, sans-serif; }
.dayview-messages.visit-chat-panel { position: fixed; z-index: 8100; right: 16px; bottom: calc(var(--dayview-dock-height, 64px) + env(safe-area-inset-bottom, 0px) + 16px); display: flex; width: 400px; height: min(640px, calc(100dvh - var(--dayview-dock-height, 64px) - 48px)); flex-direction: column; overflow: hidden; background: var(--dm-bg); border: 1px solid var(--dm-line-strong); border-radius: 16px; box-shadow: 0 18px 48px rgba(0,0,0,.55); }
.visit-chat-panel > .dm-conversation-list, .visit-chat-panel > .dm-transcript { flex: 1 1 0; }
.visit-chat-panel .dm-composer { grid-template-columns: auto minmax(0, 1fr) auto; }
.visit-chat-panel .visit-chat-closing { color: var(--dm-accent); }
.visit-chat-panel .messages-conversation-meta { display: grid !important; gap: 2px; }
.visit-chat-photo-loading { margin-top: 6px; color: var(--dm-faint); font-size: 10px; }
@media (max-width: 760px) {
  .dayview-messages.visit-chat-panel { inset: 0; width: auto; height: auto; border: 0; border-radius: 0; padding-top: env(safe-area-inset-top, 0px); }
}
/* Locked quick messages: thin sideways-scrolling row above the message box (same look as the client portal chat's quick options). */
.visit-chat-panel .visit-chat-quick { display: flex; flex: none; flex-wrap: nowrap; gap: 6px; overflow-x: auto; padding: 8px 14px 0; background: var(--dm-bg); border-top: 1px solid var(--dm-line); scrollbar-width: none; }
.visit-chat-panel .visit-chat-quick::-webkit-scrollbar { display: none; }
.visit-chat-panel .visit-chat-quick + .dm-composer { border-top: 0 !important; padding-top: 8px !important; }
.visit-chat-panel .visit-chat-chip { flex: none; height: 30px; min-height: 30px; padding: 0 9px; color: var(--dm-ink); background: rgba(246,241,233,.04); border: 1px solid rgba(221,229,239,.2); border-radius: 4px; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.visit-chat-panel .visit-chat-chip:hover { border-color: var(--dm-accent); }
.visit-chat-panel .visit-chat-chip:focus-visible { outline: 2px solid #dfbf85; outline-offset: 2px; }
