/* core/assistant.css — AI-abilise vestlusaken (core/assistant.js). Omab ainult .ai-* klasse. */
.ai-root { --ai-navy: #0B1F33; --ai-orange: #FF6B1A; --ai-bg: #fff; --ai-fg: #1b2530; --ai-muted: #5C6670; --ai-line: #dde3e9; --ai-soft: #f3f6f9;
  font-family: Inter, system-ui, sans-serif; font-size: 14px; line-height: 1.45; }
.ai-fab { position: fixed; right: 16px; bottom: 16px; z-index: 9000; border: 0; border-radius: 999px; padding: 12px 18px;
  background: var(--ai-navy); color: #fff; font: 600 14px Inter, system-ui, sans-serif; cursor: pointer; box-shadow: 0 6px 20px rgba(11,31,51,.3); }
.ai-fab:hover { background: #13314f; }
.ai-panel { position: fixed; right: 16px; bottom: 16px; z-index: 9000; width: min(400px, calc(100vw - 32px)); height: min(600px, calc(100vh - 32px));
  display: flex; flex-direction: column; background: var(--ai-bg); color: var(--ai-fg); border: 1px solid var(--ai-line); border-radius: 14px;
  box-shadow: 0 12px 40px rgba(11,31,51,.28); overflow: hidden; }
.ai-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 12px; background: var(--ai-navy); color: #fff; }
.ai-head strong { font-size: 15px; }
.ai-sub { flex: 1 1 100%; order: 3; font-size: 12px; opacity: .75; }
.ai-head strong { flex: 1; }
.ai-icon { background: transparent; border: 0; color: #fff; font-size: 16px; cursor: pointer; padding: 2px 6px; border-radius: 6px; }
.ai-icon:hover { background: rgba(255,255,255,.12); }
.ai-log { flex: 1; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 8px; background: var(--ai-soft); }
.ai-empty { color: var(--ai-muted); }
.ai-empty p { margin: 0 0 8px; }
.ai-chip { display: block; width: 100%; text-align: left; margin: 0 0 6px; padding: 8px 10px; border: 1px solid var(--ai-line); border-radius: 8px;
  background: #fff; color: var(--ai-fg); cursor: pointer; font: inherit; }
.ai-chip:hover { border-color: var(--ai-orange); }
.ai-msg { max-width: 88%; padding: 8px 11px; border-radius: 12px; white-space: pre-wrap; word-wrap: break-word; }
.ai-me { align-self: flex-end; background: var(--ai-navy); color: #fff; border-bottom-right-radius: 4px; }
.ai-bot { align-self: flex-start; background: #fff; border: 1px solid var(--ai-line); border-bottom-left-radius: 4px; }
.ai-err { align-self: stretch; background: #fdecec; color: #8a1c1c; border: 1px solid #f3c2c2; }
.ai-typing { color: var(--ai-muted); font-style: italic; }
.ai-card { align-self: stretch; background: #fff; border: 1px solid var(--ai-line); border-left: 4px solid var(--ai-orange); border-radius: 10px; padding: 9px 11px; }
.ai-card-t { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ai-orange); margin-bottom: 3px; }
.ai-card-b { display: flex; gap: 8px; margin-top: 8px; }
.ai-card-s { margin-top: 6px; font-size: 12px; font-weight: 600; color: var(--ai-muted); }
.ai-card-e { margin-top: 4px; font-size: 12px; color: #8a1c1c; }
.ai-done { border-left-color: #2e8b57; } .ai-done .ai-card-s { color: #2e8b57; }
.ai-failed { border-left-color: #c0392b; }
.ai-cancelled, .ai-expired { border-left-color: var(--ai-line); opacity: .75; }
.ai-ok, .ai-no, .ai-send { border: 0; border-radius: 8px; padding: 7px 14px; font: 600 13px Inter, system-ui, sans-serif; cursor: pointer; }
.ai-ok { background: #2e8b57; color: #fff; }
.ai-no { background: var(--ai-soft); color: var(--ai-fg); border: 1px solid var(--ai-line); }
.ai-form { display: flex; gap: 6px; align-items: flex-end; padding: 10px; border-top: 1px solid var(--ai-line); background: #fff; }
.ai-input { flex: 1; resize: none; border: 1px solid var(--ai-line); border-radius: 8px; padding: 8px; font: inherit; color: var(--ai-fg); background: #fff; min-width: 0; }
.ai-input:focus { outline: 2px solid var(--ai-orange); outline-offset: -1px; }
.ai-mic { border: 1px solid var(--ai-line); background: #fff; border-radius: 8px; padding: 7px 9px; font-size: 16px; cursor: pointer; }
.ai-mic.on { background: #fdecec; border-color: #c0392b; animation: ai-pulse 1.2s infinite; }
.ai-send { background: var(--ai-orange); color: #fff; }
.ai-root button:disabled { opacity: .55; cursor: default; }
@keyframes ai-pulse { 50% { box-shadow: 0 0 0 5px rgba(192,57,43,.18); } }
@media (max-width: 520px) {
  .ai-panel { right: 8px; bottom: 8px; width: calc(100vw - 16px); height: calc(100vh - 16px); }
  .ai-fab span { display: none; }
}
