/* Мост Gov shell ↔ ai-workspace-chat — единый контур на всех темах */

.gov-a4--chat .gov-a4__body.ai-chat-messages {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
}

.gov-cmd-chat .gov-a4--chat {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  max-width: none;
  flex: 1;
  min-height: 0;
  height: 100%;
  max-height: 100%;
}

.gov-cmd-chat .gov-a4__body.ai-chat-messages {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
}

.gov-a4__foot--chat {
  align-items: stretch;
  flex-direction: column;
  gap: 0;
}

.gov-a4__foot-row {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  width: 100%;
}

/* Перебиваем тёмный legacy ai-workspace-chat.css */
body.gov-workspace .gov-cmd-chat .gov-chat-textarea,
body.gov-workspace .gov-cmd-chat textarea.ai-chat-input {
  flex: 1;
  border: 1px solid var(--gov-input-border);
  border-radius: 20px;
  padding: 10px 14px;
  font: inherit;
  font-size: 14px;
  line-height: 1.45;
  resize: none;
  min-height: 42px;
  max-height: 140px;
  background: var(--gov-surface-muted) !important;
  color: var(--gov-input-text) !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

body.gov-workspace .gov-cmd-chat .gov-chat-textarea:focus,
body.gov-workspace .gov-cmd-chat textarea.ai-chat-input:focus {
  outline: none;
  border-color: var(--gov-accent);
  background: var(--gov-surface) !important;
}

body.gov-workspace .gov-cmd-chat .gov-chat-textarea::placeholder,
body.gov-workspace .gov-cmd-chat textarea.ai-chat-input::placeholder {
  color: var(--gov-muted);
  opacity: 1;
}

.gov-chat-attach,
.gov-chat-mic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--gov-border-strong);
  border-radius: var(--gov-radius);
  background: var(--gov-surface);
  color: var(--gov-text);
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 0.12s, color 0.12s, background 0.12s;
  padding: 0;
}

.gov-chat-attach:hover,
.gov-chat-mic:hover {
  border-color: var(--gov-accent);
  color: var(--gov-accent);
  background: var(--gov-accent-soft);
}

.gov-chat-mic.is-recording {
  border-color: #dc2626;
  color: #dc2626;
  background: rgba(220, 38, 38, 0.1);
  animation: gov-mic-pulse 1.2s ease-in-out infinite;
}

.gov-chat-mic.is-busy {
  opacity: 0.65;
  cursor: wait;
}

.gov-chat-mic__ico {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.gov-chat-mic__ico .gov-svg {
  width: 20px;
  height: 20px;
}

.gov-chat-voice-status {
  margin: 0 0 6px;
  font-size: 12px;
  color: var(--gov-muted);
  line-height: 1.35;
}

.gov-chat-voice-status.is-error {
  color: #b91c1c;
}

@keyframes gov-mic-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.35); }
  50% { box-shadow: 0 0 0 6px rgba(220, 38, 38, 0); }
}

.gov-cmd-chats-toggle {
  display: none;
}

.gov-chat-attach__ico {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.gov-chat-attach__ico .gov-svg {
  width: 20px;
  height: 20px;
}

.gov-tender-select {
  font-size: 11px;
  border: 1px solid var(--gov-border);
  border-radius: var(--gov-radius);
  padding: 3px 6px;
  background: var(--gov-input-bg);
  color: var(--gov-input-text);
  max-width: 160px;
}

.gov-cmd-projects__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.gov-chat-list .ai-chat-list__item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  padding: 9px 10px;
  margin-bottom: 4px;
  border: 1px solid transparent;
  border-radius: var(--gov-radius);
  background: transparent;
  color: var(--gov-text);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.gov-chat-list .ai-chat-list__item:hover {
  background: var(--gov-hover-bg);
  border-color: var(--gov-border);
  color: var(--gov-text);
}

.gov-chat-list .ai-chat-list__item.is-active,
.gov-chat-list .ai-chat-list__item--active {
  background: var(--gov-accent-soft);
  border-color: var(--gov-accent);
  font-weight: 600;
  color: var(--gov-text);
}

.gov-chat-list .ai-chat-list__item-title {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: var(--gov-text) !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gov-chat-list .ai-chat-list__item:hover .ai-chat-list__item-title,
.gov-chat-list .ai-chat-list__item.is-active .ai-chat-list__item-title,
.gov-chat-list .ai-chat-list__item--active .ai-chat-list__item-title {
  color: var(--gov-text) !important;
}

.gov-chat-list .ai-chat-list__item-del {
  color: var(--gov-muted);
}

.gov-tool-frame-wrap {
  height: min(72vh, 720px);
  border: 1px solid var(--gov-border);
  border-radius: var(--gov-radius);
  overflow: hidden;
  background: var(--gov-surface);
}

.gov-tool-frame {
  width: 100%;
  height: 100%;
  border: none;
  background: var(--gov-surface);
}

.gov-app-gate {
  opacity: 0.35;
  pointer-events: none;
  user-select: none;
}

body.gov-auth-ready .gov-app-gate {
  opacity: 1;
  pointer-events: auto;
  user-select: auto;
}

.gov-cmd-chat .gov-a4__body.ai-chat-messages {
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
}

/* Единый образ чата: только gov-токены */
body.gov-workspace .gov-cmd-chat .ai-chat-msg {
  max-width: 96%;
  gap: 8px;
}

body.gov-workspace .gov-cmd-chat .ai-chat-msg__text {
  border-radius: var(--gov-radius);
  border: 1px solid var(--gov-border);
  background: var(--gov-surface-muted);
  color: var(--gov-text);
  font-size: 14px;
  line-height: 1.5;
  padding: 10px 12px;
}

body.gov-workspace .gov-cmd-chat .ai-chat-msg--user .ai-chat-msg__text {
  background: var(--gov-accent-soft);
  border-color: var(--gov-accent);
  color: var(--gov-text);
}

body.gov-workspace .gov-cmd-chat .ai-chat-msg--ai .ai-chat-msg__avatar,
body.gov-workspace .gov-cmd-chat .ai-chat-msg--user .ai-chat-msg__avatar {
  background: var(--gov-surface);
  border: 1px solid var(--gov-border);
  color: var(--gov-accent);
  font-size: 11px;
  font-weight: 700;
}

body.gov-workspace .gov-cmd-chat .ai-chat-msg__time {
  color: var(--gov-muted);
  font-size: 10px;
}

body.gov-workspace .gov-cmd-chat .ai-chat-send-btn,
body.gov-workspace .gov-cmd-chat .gov-btn--ai {
  background: var(--gov-accent);
  border: 1px solid var(--gov-accent);
  color: var(--gov-accent-text, #fff);
  min-width: 40px;
  width: 40px;
  height: 40px;
  border-radius: var(--gov-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

body.gov-workspace .gov-cmd-chat .ai-chat-send-btn .gov-svg {
  width: 18px;
  height: 18px;
}

body.gov-workspace .gov-cmd-chat .ai-chat-send-btn:disabled {
  opacity: 0.45;
}

body.gov-workspace .gov-cmd-chat .ai-chat-send-btn:not(:disabled):active {
  background: #15803d;
  border-color: #166534;
}

body.gov-workspace .gov-cmd-chat .ai-chat-send-btn.is-stop {
  background: #c0392b;
  border-color: #b91c1c;
}

body.gov-workspace .gov-cmd-chat .ai-chat-input.is-locked {
  opacity: 0.72;
  cursor: not-allowed;
}

body.gov-workspace .gov-cmd-chat .gov-chat-attach.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}

body.gov-workspace .gov-cmd-chat .ai-chat-file-chip {
  border: 1px solid var(--gov-border);
  background: var(--gov-surface-muted);
  color: var(--gov-text);
  border-radius: var(--gov-radius);
}

body.gov-workspace .gov-cmd-chat .ai-chat-tools__status,
body.gov-workspace .gov-cmd-chat .ai-chat-typing {
  color: var(--gov-muted);
  font-size: 12px;
}

body.gov-workspace .gov-cmd-chat .ai-chat-context-banner {
  display: none !important;
}

body.gov-workspace .gov-cmd-chat .ai-chat-chips {
  display: none !important;
}

body.gov-workspace .gov-cmd-chat .ai-chat-dropzone[hidden] {
  display: none !important;
}

.gov-cmd-projects .gov-chat-list {
  max-height: min(68vh, 640px);
  overflow-y: auto;
}

.gov-a4__head {
  flex-wrap: wrap;
  gap: 8px;
}

/* Заголовок чата — тонкая полоска, не растягивать по высоте колонки */
.gov-a4--chat > .gov-a4__head.gov-chat-head,
.ws-desk-layout__main > .gov-a4__head.gov-chat-head {
  flex: 0 0 auto;
  flex-grow: 0;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  min-height: 0;
  height: auto;
}

.gov-a4--chat .gov-chat-head__title {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.15;
}

.gov-a4--chat .gov-chat-head__rename {
  padding: 0;
  min-width: 24px;
  width: 24px;
  height: 24px;
  font-size: 12px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.gov-a4--chat .gov-a4__head [hidden] {
  display: none !important;
}

/* Сообщения занимают всё оставшееся место */
.gov-a4--chat .ws-desk-layout__main,
.gov-cmd-chat .gov-a4--chat:not(.ws-desk-enabled) {
  min-height: 0;
}

.ws-desk-layout__main > .gov-a4__body.ai-chat-messages,
.gov-a4--chat > .gov-a4__body.ai-chat-messages {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-anchor: none;
  overscroll-behavior: contain;
}

/* Статус инструментов — фиксированная высота при показе, без скачка ленты */
.gov-a4--chat .ai-chat-tools:not([hidden]) {
  flex: 0 0 auto;
  min-height: 40px;
  box-sizing: border-box;
}

/* Карточки tool-result в Gov — читаемый текст (таблицы, метрики) */
body.gov-workspace .ai-chat-msg--ai .rcard {
  background: var(--gov-surface-muted, #1e293b);
  border-color: var(--gov-border, rgba(255, 255, 255, 0.14));
  color: var(--gov-text, #e2e8f0);
}

body.gov-workspace .ai-chat-msg--ai .rcard__title,
body.gov-workspace .ai-chat-msg--ai .rcard__metric-value,
body.gov-workspace .ai-chat-msg--ai .rcard__table td {
  color: var(--gov-text, #e2e8f0);
}

body.gov-workspace .ai-chat-msg--ai .rcard__subtitle,
body.gov-workspace .ai-chat-msg--ai .rcard__metric-label,
body.gov-workspace .ai-chat-msg--ai .rcard__table th,
body.gov-workspace .ai-chat-msg--ai .rcard__note,
body.gov-workspace .ai-chat-msg--ai .rcard__disclaimer {
  color: var(--gov-muted, #94a3b8);
}

body.gov-workspace .ai-chat-msg--ai .rcard__table th {
  border-bottom-color: var(--gov-border, rgba(255, 255, 255, 0.16));
}

body.gov-workspace .ai-chat-msg--ai .rcard__table td {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

body.gov-workspace .ai-chat-msg--ai .rcard__table-summary {
  color: var(--gov-accent, #60a5fa);
}

body.gov-workspace .ai-chat-msg--ai .rcard__action-btn {
  background: var(--gov-surface, #0f172a);
  border-color: var(--gov-border-strong, rgba(255, 255, 255, 0.22));
  color: var(--gov-text, #e2e8f0);
}

/* Таблица ВОР в рабочей зоне */
.gov-ws-vor__meta {
  margin: 0 0 8px;
  font-size: 13px;
  color: var(--gov-muted, #64748b);
}

.gov-ws-vor__scroll {
  max-height: min(62vh, 640px);
  overflow: auto;
  border: 1px solid var(--gov-border, #e2e8f0);
  border-radius: var(--gov-radius-sm, 6px);
  background: var(--gov-surface, #fff);
}

.gov-ws-vor__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.gov-ws-vor__table th,
.gov-ws-vor__table td {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid var(--gov-border, #e2e8f0);
  color: var(--gov-text, #0f172a);
}

.gov-ws-vor__table th {
  position: sticky;
  top: 0;
  background: var(--gov-surface-muted, #f1f5f9);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--gov-muted, #64748b);
}

.gov-ws-vor__table tr:hover td {
  background: var(--gov-hover-bg, rgba(59, 130, 246, 0.06));
}

body.gov-workspace .haze-auth-backdrop {
  background: rgba(15, 23, 42, 0.45);
  font-family: var(--gov-font);
}

body.gov-workspace .haze-auth-card {
  background: var(--gov-surface);
  border: 1px solid var(--gov-border-strong);
  border-radius: var(--gov-radius);
  color: var(--gov-text);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
}

body.gov-workspace .haze-auth-tab {
  border-color: var(--gov-border);
  color: var(--gov-muted);
  background: var(--gov-tab-bg);
}

body.gov-workspace .haze-auth-tab.is-active {
  background: var(--gov-accent-soft);
  border-color: var(--gov-accent);
  color: var(--gov-accent);
}

body.gov-workspace .haze-label {
  color: var(--gov-muted);
}

body.gov-workspace .haze-input,
body.gov-workspace .haze-input--official {
  background: var(--gov-input-bg);
  border-color: var(--gov-input-border);
  color: var(--gov-input-text);
}

body.gov-workspace .haze-input:focus,
body.gov-workspace .haze-input--official:focus {
  border-color: var(--gov-accent);
  box-shadow: 0 0 0 2px var(--gov-accent-soft);
}

body.gov-workspace .haze-password-field__toggle {
  color: var(--gov-muted);
}

body.gov-workspace .haze-password-field__toggle:hover {
  color: var(--gov-text);
  background: var(--gov-hover-bg);
}

body.gov-workspace .haze-btn--official {
  background: var(--gov-accent);
  border-color: var(--gov-accent);
  color: var(--gov-accent-text);
  border-radius: var(--gov-radius-sm, 4px);
}

body.gov-workspace .haze-btn--official:hover {
  background: var(--gov-accent-hover);
  border-color: var(--gov-accent-hover);
}

body.gov-workspace .haze-btn--ghost {
  border-color: var(--gov-border);
  color: var(--gov-muted);
}

body.gov-workspace .haze-btn--ghost:hover {
  background: var(--gov-hover-bg);
  color: var(--gov-text);
}

body.gov-workspace .haze-auth-remember {
  color: var(--gov-muted);
}

body.gov-workspace .haze-auth-card__title--official {
  color: var(--gov-text);
}

body.gov-workspace .haze-auth-card__lead--official {
  color: var(--gov-muted);
}

body.gov-workspace .haze-reg-type {
  color: var(--gov-text);
  border-bottom-color: var(--gov-border);
}

body.gov-workspace .haze-reg-type input[type="radio"] {
  accent-color: var(--gov-accent);
}

body.gov-workspace .haze-auth-card__error {
  color: #b91c1c;
}

body.gov-workspace .haze-auth-card__success {
  color: var(--gov-success);
}

body.gov-workspace .haze-auth-legal,
body.gov-workspace .auth-legal-group {
  border-color: var(--gov-border);
  background: var(--gov-surface-muted);
}

body.gov-workspace .auth-legal-group__legend {
  color: var(--gov-text);
}

body.gov-workspace .haze-auth-legal__intro {
  color: var(--gov-muted);
}

body.gov-workspace .haze-auth-legal__row a,
body.gov-workspace .haze-auth-link-btn {
  color: var(--gov-link);
}

body.gov-workspace .haze-auth-back-link {
  color: var(--gov-link);
}

body.gov-workspace .haze-drawer-hint {
  color: var(--gov-muted);
}

body.gov-workspace .haze-drawer-hint a,
body.gov-workspace #hazeForgotLink {
  color: var(--gov-link) !important;
}

body.gov-workspace .haze-reg-lookup-msg--ok {
  color: var(--gov-success);
}

body.gov-workspace .haze-reg-lookup-msg--err {
  color: #b91c1c;
}
