.tab-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.messages-card { min-width:0; width:100%; max-width:100%; }
#messages-home { min-width:0; width:100%; max-width:100%; }
.messages-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.messages-heading h2 { margin-bottom:3px; }
.messages-categories { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:6px; margin-bottom:10px; padding:4px; border-radius:13px; background:#f1f4f8; }
.message-category { min-height:40px; padding:8px 6px; border-radius:10px; background:transparent; color:#59657a; box-shadow:none; font-size:11px; }
.message-category.active { background:#fff; color:#0b57d0; box-shadow:0 2px 8px rgba(31,45,72,.08); }
.messages-toolbar { display:grid; grid-template-columns:1fr auto; gap:8px; margin-bottom:12px; }
.messages-search { min-width:0; }
.messages-refresh { min-height:46px; padding:10px 12px; }
.messages-status { margin:8px 0 10px; }
.messages-section-toggle { width:100%; max-width:100%; min-height:44px; display:flex; align-items:center; justify-content:space-between; padding:10px 12px; background:#f3f6fb; color:#23314c; }
.messages-client-list, .messages-unlinked-list { min-width:0; width:100%; max-width:100%; display:grid; grid-template-columns:minmax(0, 1fr); gap:9px; }
.messages-unlinked-panel { min-width:0; width:100%; max-width:100%; overflow:hidden; margin-top:9px; padding-top:9px; border-top:1px solid #e7ebf2; }
.message-client-card { width:100%; min-width:0; max-width:100%; min-height:88px; display:grid; grid-template-columns:auto minmax(0, 1fr); align-items:center; gap:10px; padding:12px; text-align:left; background:#fff; color:#172033; border:1px solid #e5eaf1; border-left:4px solid #e5eaf1; box-shadow:0 3px 10px rgba(31,45,72,.04); }
.message-client-body { min-width:0; display:grid; gap:6px; }
.message-client-card.pipeline-new { background:#fff; border-color:#e5eaf1; border-left-color:#aab4c3; }
.message-client-card.pipeline-working,
.message-client-card.pipeline-working.trial-visual-scheduled {
  background:var(--trial-scheduled-card-background);
  border-color:var(--trial-scheduled-card-border);
  border-left-color:var(--trial-scheduled-card-accent);
}
.message-client-card.pipeline-working.trial-visual-completed {
  background:var(--trial-completed-card-background);
  border-color:var(--trial-completed-card-border);
  border-left-color:var(--trial-completed-card-accent);
}
.message-client-card.pipeline-enrolled { background:#f2f6ff; border-color:#c8d8f5; border-left-color:#0b57d0; }
.message-client-card.pipeline-refused { background:#fff5f4; border-color:#f0d0cc; border-left-color:#c9554d; }
.message-client-top { display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.message-client-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; }
.message-client-time, .unlinked-time { color:#8a93a5; font-size:11px; }
.message-client-badges { display:flex; gap:5px; flex-wrap:wrap; align-items:center; }
.message-channel-badge { display:inline-flex; width:fit-content; padding:3px 7px; border-radius:999px; background:#eef2f7; color:#4d5a71; font-size:10px; font-weight:750; }
.message-channel-badge.channel-avito { background:#e8f1ff; color:#0b57d0; }
.message-channel-badge.channel-telegram { background:#e9f7ff; color:#1671a6; }
.message-channel-badge.channel-vk { background:#edf3ff; color:#2466b1; }
.client-pipeline-pill, .client-trial-pill { display:inline-flex; width:fit-content; max-width:100%; padding:3px 7px; border:1px solid transparent; border-radius:999px; font-size:10px; line-height:1.2; font-weight:750; white-space:nowrap; }
.client-pipeline-pill.pipeline-new { background:#eef1f5; border-color:#d8dee7; color:#59657a; }
.client-pipeline-pill.pipeline-working,
.client-pipeline-pill.pipeline-working.trial-visual-scheduled {
  background:var(--trial-scheduled-pill-background);
  border-color:var(--trial-scheduled-pill-border);
  color:var(--trial-scheduled-pill-text);
}
.client-pipeline-pill.pipeline-working.trial-visual-completed {
  background:var(--trial-completed-pill-background);
  border-color:var(--trial-completed-pill-border);
  color:var(--trial-completed-pill-text);
}
.client-pipeline-pill.pipeline-enrolled { background:#0b57d0; border-color:#0b57d0; color:#fff; }
.client-pipeline-pill.pipeline-refused { background:#fce3e0; border-color:#edc1bc; color:#962f2a; }
.client-trial-pill.client-trial-scheduled { background:var(--trial-scheduled-pill-background); border-color:var(--trial-scheduled-pill-border); color:var(--trial-scheduled-pill-text); }
.client-trial-pill.client-trial-completed { background:var(--trial-completed-pill-background); border-color:var(--trial-completed-pill-border); color:var(--trial-completed-pill-text); }
.client-trial-pill.client-trial-refused { background:#fce3e0; border-color:#edc1bc; color:#962f2a; }
.client-trial-pill.client-trial-enrolled { background:#e7f0ff; border-color:#b9cdf2; color:#0b57d0; }
.message-client-preview, .unlinked-preview { margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#59657a; font-size:13px; }
.message-unread-pill { justify-self:start; padding:3px 7px; border-radius:999px; background:#0b57d0; color:#fff; font-size:10px; font-weight:750; }
.message-unread-pill[hidden] { display:none !important; }
.messages-empty { margin:8px 0; color:#8a93a5; font-size:13px; }
.unlinked-card { min-width:0; width:100%; max-width:100%; overflow:hidden; padding:11px; border:1px solid #e5eaf1; border-radius:14px; background:#fbfcfe; }
.unlinked-head { min-width:0; max-width:100%; display:flex; align-items:center; gap:7px; }
.unlinked-head strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.unlinked-username { max-width:100%; margin:5px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#68738a; font-size:12px; }
.unlinked-preview { max-width:100%; margin-top:7px; }
.unlinked-time { margin:5px 0 0; }
.unlinked-actions { min-width:0; width:100%; max-width:100%; display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:7px; margin-top:9px; overflow:hidden; }
.unlinked-actions .compact-message-button { width:auto; min-width:0; max-width:100%; flex:0 0 auto; min-height:40px; padding:8px 11px; border-radius:10px; font-size:11px; white-space:nowrap; }
.messages-chat-header { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.messages-back { min-width:42px; min-height:42px; padding:7px; }
.messages-chat-title { flex:1; min-width:0; display:grid; gap:5px; }
.messages-chat-title h2 { margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:20px; }
.messages-chat-statuses { display:flex; flex-wrap:wrap; gap:5px; }
.messages-chat-actions { display:flex; gap:6px; }
.messages-chat-actions button { min-height:40px; padding:8px 9px; font-size:11px; }
.provider-avatar { display:grid; place-items:center; flex:0 0 auto; overflow:hidden; border-radius:50%; background:#e8edf5; color:#45536b; font-weight:800; }
.provider-avatar-list { width:42px; height:42px; font-size:12px; }
.provider-avatar-chat { width:38px; height:38px; font-size:11px; }
.provider-avatar-image { width:100%; height:100%; display:block; object-fit:cover; }
.provider-avatar-image[hidden], .provider-avatar-fallback[hidden] { display:none !important; }
.provider-avatar-fallback { display:grid; width:100%; height:100%; place-items:center; }
.messages-provider-identity { min-width:0; display:flex; align-items:center; gap:8px; margin:0 0 7px; padding:7px 9px; border:1px solid #e6ebf2; border-radius:12px; background:#f9fbfe; }
.messages-provider-identity[hidden] { display:none !important; }
.messages-provider-identity-text { min-width:0; display:grid; gap:2px; }
.messages-provider-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#39445a; font-size:12px; font-weight:700; }
.messages-provider-link { width:fit-content; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#0b57d0; font-size:11px; font-weight:650; text-decoration:none; }
.messages-provider-link[hidden] { display:none !important; }
.messages-provider-link:focus-visible { outline:2px solid #0b57d0; outline-offset:2px; border-radius:4px; }
.messages-pipeline-control { display:grid; grid-template-columns:auto 1fr; gap:8px; align-items:end; margin-bottom:9px; }
.messages-pipeline-control > button { min-height:44px; padding:9px 13px; }
.messages-pipeline-select { display:grid; gap:4px; color:#68738a; font-size:11px; }
.messages-pipeline-select select { min-height:44px; }
.messages-schedule-trial { width:100%; min-height:44px; margin:0 0 10px; }
.messages-channel-chips { display:flex; gap:6px; overflow-x:auto; padding:2px 0 8px; }
.message-channel-chip { flex:0 0 auto; min-height:38px; padding:8px 11px; border-radius:999px; background:#f0f3f8; color:#556177; font-size:12px; }
.message-channel-chip.active { background:#e7f0ff; color:#0b57d0; box-shadow:inset 0 0 0 1px rgba(11,87,208,.1); }
.messages-channel-actions { display:flex; gap:7px; margin-bottom:8px; }
.messages-channel-actions button { min-height:38px; padding:7px 10px; font-size:11px; }
.messages-feed { min-height:280px; overflow-y:auto; overflow-anchor:none; display:grid; align-content:start; gap:8px; padding:10px 2px; border-top:1px solid #e7ebf2; border-bottom:1px solid #e7ebf2; }
.message-bubble-row { display:flex; }
.message-bubble-row.outbound { justify-content:flex-end; }
.message-bubble { max-width:88%; padding:9px 10px; border-radius:14px; background:#f2f4f8; color:#172033; }
.message-bubble-row.outbound .message-bubble { background:#eaf2ff; }
.message-bubble-meta { display:flex; align-items:center; gap:5px; margin-bottom:5px; color:#6b778d; font-size:10px; }
.message-bubble-meta time { margin-left:auto; }
.message-bubble-content { display:grid; gap:6px; }
.message-bubble-text { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.4; font-size:14px; }
.message-bubble-text[hidden] { display:none !important; }
.message-bubble-image { display:block; width:min(280px, 68vw); max-height:360px; object-fit:contain; border-radius:10px; background:#e8edf5; }
.telegram-inbound-media { max-width:100%; }
.telegram-inbound-media-image { display:block; width:min(280px, 68vw); max-height:360px; object-fit:contain; border-radius:10px; background:#e8edf5; }
.telegram-inbound-media-sticker { width:min(190px, 54vw); max-height:220px; background:transparent; }
.telegram-inbound-media-video-sticker { display:block; width:min(190px, 54vw); max-height:220px; object-fit:contain; border-radius:10px; background:transparent; }
.telegram-inbound-media-audio { display:block; width:min(300px, 72vw); min-height:42px; }
.telegram-inbound-media-state { margin:0; min-width:110px; color:#68738a; font-size:12px; line-height:1.35; }
.telegram-inbound-media-state.failed { color:#8c4b45; }
.message-send-status { display:block; margin-top:5px; font-size:10px; color:#6b778d; }
.message-send-status.send-sent { color:#37604a; }
.message-send-status.send-failed, .message-send-status.send-ambiguous { color:#a33c34; }
.message-send-checks { display:inline-block; letter-spacing:-1px; font-weight:850; }
.messages-composer { display:grid; gap:7px; margin-top:10px; }
.messages-composer-channel { color:#68738a; font-size:11px; }
.messages-composer-channel strong { color:#23314c; }
.messages-compose-row { display:grid; grid-template-columns:auto 1fr auto; gap:7px; align-items:end; }
.messages-compose-row textarea { resize:none; min-height:46px; max-height:110px; }
.messages-compose-row button { min-height:46px; padding:10px 12px; }
.messages-attach-image { min-width:58px; }
.messages-image-selection { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 9px; border:1px solid #d8e2f0; border-radius:10px; background:#f7faff; color:#45536b; font-size:12px; }
.messages-image-selection[hidden] { display:none !important; }
.messages-image-selection span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.messages-image-selection button { min-height:30px; min-width:30px; padding:4px; }
.messaging-choice-list { display:grid; gap:8px; }
.messaging-choice-button { width:100%; text-align:left; background:#f4f7fb; color:#23314c; }
#trial-client-field { gap:6px; }
#trial-client-field input, #trial-client-field select { width:100%; }
#trial-detail-client { width:100%; margin:8px 0; text-align:left; }
@media (max-width:390px) {
  .messages-categories { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .messages-toolbar { grid-template-columns:1fr; }
  .messages-refresh { width:100%; }
  .messages-chat-actions { flex-direction:column; }
  .messages-pipeline-control { grid-template-columns:1fr; }
  .messages-compose-row { grid-template-columns:auto 1fr; }
  .messages-compose-row button[type="submit"] { grid-column:1 / -1; }
  .message-bubble { max-width:94%; }
  .provider-avatar-list { width:38px; height:38px; }
}
@media (max-width:320px) {
  .unlinked-actions { display:grid; grid-template-columns:1fr; }
  .unlinked-actions .compact-message-button { width:100%; }
}
