/* ── ASANMOD Chat Composer: docked input, send button, focus/disabled states ── */

.codex-text-form {
  flex: 0 0 auto;
  position: relative;
  bottom: 0;
  display: grid;
  gap: 8px;
  padding: 12px 16px 14px;
  margin-bottom: 0;
  border: 0;
  border-top: 1px solid rgba(75, 215, 232, 0.16);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(9, 18, 23, 0.72), rgba(9, 18, 23, 0.98)),
    rgba(9, 18, 23, 0.96);
  backdrop-filter: blur(16px);
  z-index: var(--z-chat-composer);
}

.codex-text-row {
  order: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.codex-text-row input,
.codex-text-row button {
  min-height: 50px;
  border: 1px solid var(--line);
  border-radius: var(--chat-composer-radius);
}

.codex-text-row input {
  min-width: 0;
  padding: 0 16px;
  background: rgba(5, 12, 15, 0.98);
  color: var(--text);
  font-size: 0.94rem;
}

.codex-text-row input:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
  border-color: rgba(75, 215, 232, 0.45);
}

.codex-text-row button {
  padding: 0 18px;
  background: rgba(88, 166, 255, 0.16);
  color: #d9ecff;
  font-weight: 760;
  cursor: pointer;
}

.codex-text-row button:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.codex-text-row input:disabled,
.codex-text-row button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.codex-text-row input:disabled {
  color: var(--text-muted);
}

.codex-text-form:focus-within .codex-form-head,
.codex-text-form:focus-within .codex-bridge-grid,
.codex-text-form:focus-within .native-session-field,
.codex-text-form:hover .codex-form-head,
.codex-text-form:hover .codex-bridge-grid,
.codex-text-form:hover .native-session-field {
  opacity: 1;
}
