.assistant-card[hidden] { display: none !important; }
.assistant-card { scroll-margin-top: 80px; border: 1px solid var(--accent); }
.assistant-card .assistant-intro { font-size: 16px; }
.assistant-notice { padding: 14px; border-radius: 16px; background: var(--surface-soft); color: var(--text); font-size: 14px; line-height: 1.6; }
.assistant-suggestions { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.assistant-suggestions button { min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 18px; color: var(--text); background: var(--surface-strong); font-size: 12px; text-align: left; }
.assistant-card textarea { display: block; resize: vertical; width: 100%; min-height: 120px; max-height: 360px; box-sizing: border-box; border: 1px solid var(--accent-dark); border-radius: 14px; padding: 12px; background: var(--surface-strong); color: var(--text); font: 16px/1.55 'Nunito Sans', Arial, sans-serif; }
.assistant-card label { display: block; margin: 10px 0; font-weight: 800; }
.assistant-card :is(button, textarea, [tabindex]):focus-visible { outline: 3px solid var(--accent-dark); outline-offset: 3px; }
.assistant-card .assistant-counter, .assistant-card .assistant-privacy { font-size: 13px; line-height: 1.65; color: var(--text); }
.assistant-card .assistant-counter { margin: 8px 0 14px; }
.assistant-history { max-height: 450px; overflow: auto; overflow-wrap: anywhere; overscroll-behavior: contain; }
.assistant-history:empty { display: none; }
.assistant-message { margin: 10px 0; padding: 14px; border-radius: 16px; background: var(--surface-soft); color: var(--text); }
.assistant-message-user { margin-left: 14px; background: var(--surface-strong); border: 1px solid var(--line); }
.assistant-message p { white-space: pre-wrap; margin: 8px 0 0; font-size: 15px; line-height: 1.65; }
.assistant-message strong { font-size: 13px; }
.assistant-message-urgent { border-left: 4px solid #933c35; background: #fff0ec; color: #60271f; }
.assistant-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.assistant-actions button { min-height: 44px; flex: 1 1 110px; font-size: 13px; }
.assistant-actions .primary-button { background: var(--accent-dark); color: #fff; }
.assistant-actions button:disabled { opacity: .65; cursor: wait; }
.assistant-status { min-height: 24px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
