/* Coach page layout */
.coach-page{display:flex;flex-direction:column;height:calc(100vh - 130px)}
.coach-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px;scrollbar-width:none}
.coach-messages::-webkit-scrollbar{display:none}

/* Chat messages */
.msg{max-width:85%;animation:msgIn .2s ease both}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.msg-ai{align-self:flex-start}
.msg-user{align-self:flex-end}
.msg-bubble{padding:11px 14px;border-radius:16px;font-size:13px;line-height:1.6}
.msg-ai .msg-bubble{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:4px 16px 16px 16px}
.msg-user .msg-bubble{background:var(--accent);color:var(--bg);font-weight:500;border-radius:16px 16px 4px 16px}
.msg-ai .msg-name{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:4px;padding-left:2px}
.msg-typing .msg-bubble{display:flex;gap:5px;align-items:center;min-width:60px}
.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:typingPulse 1.2s infinite ease-in-out}
.typing-dot:nth-child(2){animation-delay:.2s}
.typing-dot:nth-child(3){animation-delay:.4s}
@keyframes typingPulse{0%,60%,100%{transform:scale(1);opacity:.4}30%{transform:scale(1.3);opacity:1}}

/* Coach input area */
.coach-input-area{padding:12px 16px 16px;border-top:1px solid var(--border);background:var(--bg);display:flex;gap:8px;align-items:flex-end}
.coach-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:11px 14px;color:var(--text);font-family:'DM Mono',monospace;font-size:13px;outline:none;resize:none;max-height:200px;overflow-y:auto;line-height:1.5;transition:border-color .15s}
.coach-input:focus{border-color:var(--accent)}
.coach-input::placeholder{color:var(--muted)}
.coach-send{width:42px;height:42px;border-radius:12px;background:var(--accent);border:none;color:var(--bg);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s;-webkit-user-select:none;user-select:none}
.coach-send:active{opacity:.7}
.coach-send:disabled{opacity:.3;cursor:not-allowed}

/* Starter chips */
.coach-starter{padding:0 20px 8px;display:flex;flex-wrap:wrap;gap:6px}
.starter-chip{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:6px 12px;font-size:11px;color:var(--muted);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}
.starter-chip:active{background:var(--border);color:var(--text)}

/* Coach empty state */
.coach-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:30px 20px;text-align:center;gap:10px}
.coach-empty-icon{font-size:40px}
.coach-empty-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;letter-spacing:-0.5px}
.coach-empty-sub{font-size:12px;color:var(--muted);line-height:1.6;max-width:240px}

/* Coach modals (onboarding, API key, goal card) */
.coach-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:70;align-items:flex-end;justify-content:center}
:root[data-theme="light"] .coach-modal-overlay{background:rgba(0,0,0,.35)}
.coach-modal-overlay.open{display:flex}
.coach-modal{background:var(--modal-bg);border:1px solid var(--border);border-radius:20px 20px 0 0;width:100%;padding:28px 24px 40px;animation:slideUp .25s cubic-bezier(.34,1.56,.64,1)}
.coach-modal-icon{font-size:32px;margin-bottom:10px}
.coach-modal-title{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;letter-spacing:-0.5px;margin-bottom:6px}
.coach-modal-sub{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:20px}
.coach-modal label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:2px;display:block;margin-bottom:6px}
.coach-modal input,.coach-modal textarea{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 14px;color:var(--text);font-family:'DM Mono',monospace;font-size:13px;outline:none;margin-bottom:14px}
.coach-modal input:focus,.coach-modal textarea:focus{border-color:var(--accent)}
.coach-modal textarea{resize:none;height:72px;line-height:1.5}
.coach-modal input::placeholder,.coach-modal textarea::placeholder{color:var(--muted)}
.coach-modal-btn{width:100%;padding:14px;background:var(--accent);color:var(--bg);border:none;border-radius:12px;font-family:'Syne',sans-serif;font-size:14px;font-weight:800;cursor:pointer;transition:opacity .15s}
.coach-modal-btn:active{opacity:.8}
.coach-modal-skip{display:block;text-align:center;margin-top:12px;font-size:11px;color:var(--muted);cursor:pointer;text-decoration:underline}

/* Coach limit bar */
.coach-limit-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 20px 0;font-size:10px;color:var(--muted)}
.coach-limit-dots{display:flex;gap:3px}
.limit-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}
.limit-dot.used{background:var(--accent)}
.limit-dot.last{background:var(--accent2)}

/* Onboarding choices */
.ob-choice{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:12px;color:var(--muted);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}
.ob-choice:active{opacity:.7}
.ob-choice.selected{border-color:var(--accent);color:var(--accent);background:rgba(200,241,53,.07)}
.ob-focus-chip{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:8px 14px;font-size:12px;color:var(--muted);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}
.ob-focus-chip:active{opacity:.7}
.ob-focus-chip.selected{border-color:var(--accent);color:var(--accent);background:rgba(200,241,53,.07)}

/* Coach reset buttons */
.coach-reset{font-size:11px;color:var(--accent);cursor:pointer;padding:4px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-family:'DM Mono',monospace;transition:all .15s;-webkit-user-select:none;user-select:none}
.coach-reset:active{opacity:.7}

/* ─── PERSONAL ASSISTANT STYLING ─────────────────────────────────── */
.personal-assistant-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 18px 20px;
  margin: 16px 20px 24px 20px;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: 14px;
  animation: cardIn 0.3s ease both;
}

.assistant-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--border);
  padding-bottom: 10px;
}

.assistant-title {
  font-family: 'Syne', sans-serif;
  font-weight: 800;
  font-size: 14px;
  color: var(--text);
  letter-spacing: 0.5px;
}

.assistant-telegram-badge {
  font-size: 10px;
  padding: 4px 10px;
  border-radius: 12px;
  font-weight: bold;
}

.assistant-telegram-badge.active {
  background: rgba(120, 224, 67, 0.08);
  color: var(--accent);
  border: 1px solid rgba(120, 224, 67, 0.15);
}

.assistant-telegram-badge.inactive {
  background: rgba(255, 85, 85, 0.08);
  color: #ff5555;
  border: 1px solid rgba(255, 85, 85, 0.15);
}

/* Assistant Summary section */
.assistant-summary {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.assistant-summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11.5px;
  line-height: 1.4;
}

.assistant-summary-label {
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 6px;
}

.assistant-summary-val {
  font-weight: 700;
  color: var(--text);
}

/* Smart Suggestion Action Banner */
.assistant-smart-suggestion {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(255, 238, 181, 0.03);
  border: 1px solid var(--border);
  font-size: 11.5px;
  color: var(--text);
  line-height: 1.45;
}

.assistant-smart-icon {
  font-size: 14px;
  flex-shrink: 0;
}

/* Quick Input styling */
.assistant-quick-input-group {
  display: flex;
  gap: 8px;
}

.assistant-quick-input {
  flex: 1;
  background: rgba(0, 0, 0, 0.12);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 8px 12px;
  color: var(--text);
  font-family: inherit;
  font-size: 11.5px;
  outline: none;
  transition: border-color 0.15s;
}

.assistant-quick-input:focus {
  border-color: var(--accent);
}

.assistant-quick-btn {
  background: var(--accent);
  color: var(--bg);
  border: none;
  border-radius: 10px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.15s;
}

.assistant-quick-btn:active {
  opacity: 0.8;
}

/* Mini Chat UI components */
.assistant-mini-chat {
  border-top: 1px solid var(--border);
  padding-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.assistant-chat-header {
  font-size: 10px;
  font-weight: bold;
  color: var(--muted);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.assistant-chat-messages {
  max-height: 140px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 2px 0;
  scrollbar-width: none;
}

.assistant-chat-messages::-webkit-scrollbar {
  display: none;
}

.assistant-chat-messages .msg-bubble {
  padding: 8px 12px;
  border-radius: 12px;
  font-size: 11.5px;
  line-height: 1.45;
}

.assistant-chat-messages .msg-ai .msg-bubble {
  background: rgba(0, 0, 0, 0.1);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: 4px 12px 12px 12px;
}

.assistant-chat-messages .msg-user .msg-bubble {
  background: var(--accent);
  color: var(--bg);
  font-weight: 500;
  border-radius: 12px 12px 4px 12px;
}

.assistant-chat-input-area {
  display: flex;
  gap: 8px;
  align-items: center;
}

.assistant-chat-input {
  flex: 1;
  background: rgba(0, 0, 0, 0.12);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 8px 12px;
  color: var(--text);
  font-family: inherit;
  font-size: 11.5px;
  outline: none;
  transition: border-color 0.15s;
}

.assistant-chat-input:focus {
  border-color: var(--accent);
}

.assistant-chat-send {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--accent);
  border: none;
  color: var(--bg);
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: opacity 0.15s;
}

.assistant-chat-send:active {
  opacity: 0.8;
}

#page-assistant .personal-assistant-card {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

