/* Coach chat */
#coachCard { gap: 14px; }
.coach-sub { font-size: 0.9rem; margin-top: 2px; }
.coach-note { font-size: 0.85rem; }
.coach-log { display: flex; flex-direction: column; gap: 8px; }
.coach-msg { max-width: min(86%, 640px); padding: 10px 14px; border-radius: 20px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; animation: coach-in 0.3s var(--ease) both; }
.coach-msg.user { align-self: flex-end; background: var(--ink); color: var(--bg); border-bottom-right-radius: 6px; }
.coach-msg.assistant { align-self: flex-start; background: var(--surface-2); border-bottom-left-radius: 6px; }
.coach-wait { color: var(--muted); animation: coach-pulse 1.2s ease-in-out infinite; }
.coach-setup { margin: 0; padding: 12px 14px; background: var(--fill); border-radius: 12px; font-size: 0.88rem; }
#coachCard .prompts button { min-height: 40px; color: var(--ink); text-align: left; }
#coachCard .prompts button:disabled { opacity: 0.45; cursor: default; }
#coachCard textarea { resize: vertical; min-height: 84px; }

@keyframes coach-pulse { 50% { opacity: 0.45; } }
@keyframes coach-in { from { opacity: 0; transform: translateY(6px); } }
@media (prefers-reduced-motion: reduce) { .coach-wait, .coach-msg { animation: none; } }

/* Questions left this month */
.coach-quota { display: flex; flex-direction: column; gap: 8px; padding: 0 0 14px; border-bottom: 1px solid var(--line); }
.coach-quota-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; font-size: 0.9rem; }
.coach-quota-row b { font-size: 1.05rem; font-weight: 800; }
.coach-quota .bar { height: 5px; }
.coach-quota .bar > i { background: var(--ring-engage); }
.coach-quota.low .bar > i { background: var(--warn); }
.coach-quota.low b { color: var(--warn); }
.coach-quota.empty .coach-quota-row { font-weight: 600; color: var(--bad); }
.coach-quota .btn { align-self: flex-start; }
