/* 1.15.0: voice assistant (website, customer area, administration). Own palette, so it looks the same everywhere. */
.nv-assist { --a-bg: #0B172B; --a-bg2: #102039; --a-line: #344258; --a-text: #F6F7FB; --a-muted: #8F9EB4; --a-gold: #D5A85F; --a-gold2: #EBC789; --a-bad: #E5484D;
  position: fixed; inset-inline-end: 20px; bottom: 20px; z-index: 900; font: 15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--a-text); }
.nv-assist button { font: inherit; cursor: pointer; }
.nv-assist-fab { display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 999px; border: 1px solid var(--a-gold);
  background: linear-gradient(135deg, var(--a-gold2), var(--a-gold)); color: #10192b; font-weight: 600; box-shadow: 0 8px 28px rgba(0,0,0,.35); }
.nv-assist-fab:focus-visible, .nv-assist-panel button:focus-visible, .nv-assist-panel input:focus-visible, .nv-assist-panel select:focus-visible { outline: 2px solid var(--a-gold2); outline-offset: 2px; }
.nv-assist.open .nv-assist-fab { display: none; }
.nv-assist-panel { width: min(400px, calc(100vw - 32px)); height: min(600px, calc(100vh - 40px)); display: flex; flex-direction: column;
  background: var(--a-bg); border: 1px solid var(--a-line); border-radius: 18px; box-shadow: 0 18px 60px rgba(0,0,0,.5); overflow: hidden; }
.nv-assist-panel[hidden] { display: none; }
.nv-assist-head { display: flex; align-items: center; gap: 6px; padding: 12px 14px; border-bottom: 1px solid var(--a-line); background: var(--a-bg2); }
.nv-assist-head b { flex: 1; font-size: 15px; }
.nv-assist-head button, .nv-assist-head select { background: transparent; color: var(--a-text); border: 1px solid var(--a-line); border-radius: 8px; padding: 4px 8px; min-height: 32px; }
.nv-assist-head select option { color: #10192b; }
.nv-assist-head [aria-pressed="true"] { opacity: .5; }
.nv-assist-log { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.nv-assist-msg { max-width: 86%; padding: 9px 13px; border-radius: 14px; white-space: pre-wrap; word-wrap: break-word; }
.nv-assist-msg.user { align-self: flex-end; background: #2a3f6b; border-end-end-radius: 4px; }
.nv-assist-msg.assistant { align-self: flex-start; background: var(--a-bg2); border: 1px solid var(--a-line); border-end-start-radius: 4px; }
.nv-assist-msg.error { border-color: var(--a-bad); }
.nv-assist-card { align-self: stretch; border: 1px solid var(--a-gold); border-radius: 12px; padding: 10px 12px; background: rgba(213,168,95,.08); }
.nv-assist-card p { margin: 0 0 8px; }
.nv-assist-card .row { display: flex; gap: 8px; flex-wrap: wrap; }
.nv-assist-card button, .nv-assist-card a { border-radius: 8px; padding: 6px 12px; border: 1px solid var(--a-gold); background: var(--a-gold); color: #10192b; font-weight: 600; text-decoration: none; }
.nv-assist-card button.ghost { background: transparent; color: var(--a-text); border-color: var(--a-line); }
.nv-assist-card.done { border-color: var(--a-line); opacity: .8; }
.nv-assist-status { margin: 0; padding: 0 14px 6px; min-height: 20px; font-size: 13px; color: var(--a-muted); }
.nv-assist-form { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--a-line); align-items: center; }
.nv-assist-form input { flex: 1; min-width: 0; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--a-line); background: var(--a-bg2); color: var(--a-text); }
.nv-assist-mic, .nv-assist-send { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--a-gold); background: transparent; color: var(--a-gold2); display: grid; place-items: center; }
.nv-assist-mic { background: var(--a-gold); color: #10192b; }
.nv-assist-mic.live { background: var(--a-bad); border-color: var(--a-bad); color: #fff; animation: nv-pulse 1.2s infinite; }
.nv-assist-note { margin: 0; padding: 0 14px 10px; font-size: 11.5px; color: var(--a-muted); }
.nv-assist-note a { color: var(--a-gold2); }
@keyframes nv-pulse { 0% { box-shadow: 0 0 0 0 rgba(229,72,77,.6); } 100% { box-shadow: 0 0 0 14px rgba(229,72,77,0); } }
@media (prefers-reduced-motion: reduce) { .nv-assist-mic.live { animation: none; } }
@media (max-width: 520px) { .nv-assist { inset-inline-end: 12px; bottom: 12px; } .nv-assist-fab span { display: none; } .nv-assist-panel { width: calc(100vw - 24px); height: calc(100vh - 24px); } }
/* History in the administration */
.assist-log .assist-line { margin: 0 0 8px; white-space: pre-wrap; }
.assist-log .assist-line b { display: inline-block; min-width: 90px; color: var(--muted, #6b7280); font-weight: 600; }
.assist-log .assist-line.user { padding-inline-start: 0; }
[dir="rtl"] .nv-assist-send { transform: scaleX(-1); }

/* 1.20.0 themes */
:root[data-theme="graphit"] .nv-assist { --a-bg: #121417; --a-bg2: #1a1d21; --a-line: #2c3036; --a-text: #F5F6F8; --a-muted: #8B9099; --a-gold: #C3CAD3; --a-gold2: #EEF1F5; }
:root[data-theme="graphit"] .nv-assist-msg.user { background: #2a2e34; }
:root[data-theme="graphit"] .nv-assist-card { background: rgba(211,216,223,.06); }
:root[data-theme="light"] .nv-assist { --a-bg: #FFFFFF; --a-bg2: #F3F1EC; --a-line: #DDD7CC; --a-text: #0E1A2D; --a-muted: #5B6779; --a-gold: #B8873B; --a-gold2: #D9B06A; }
:root[data-theme="light"] .nv-assist-fab { color: #fff; box-shadow: 0 8px 24px rgba(30,45,70,.18); }
:root[data-theme="light"] .nv-assist-panel { box-shadow: 0 18px 50px rgba(30,45,70,.18); }
:root[data-theme="light"] .nv-assist-msg.user { background: #E8EEF8; }
:root[data-theme="light"] :is(.nv-assist-card button, .nv-assist-card a, .nv-assist-mic) { color: #fff; }
