
.af-assistant-root{
  --af-assistant-accent:var(--orange,#ff7310);
  --af-assistant-accent-2:var(--orange-2,#ff9a3c);
  --af-assistant-surface:var(--panel,#0b1118);
  --af-assistant-text:var(--text,#f7faf9);
  --af-assistant-bg:var(--bg,#05080d);
  --af-assistant-muted:var(--muted,#aeb5bf);
  --af-assistant-line:var(--line,rgba(189,201,216,.22));
  --af-assistant-header:#0b1118;
  position:fixed;
  z-index:180;
  inset-inline-start:18px;
  bottom:18px;
  font-family:"Segoe UI",Tahoma,Arial,sans-serif;
}
html[data-theme="light"] .af-assistant-root{
  --af-assistant-surface:#f7fafc;
  --af-assistant-text:#111820;
  --af-assistant-bg:#e8eef3;
  --af-assistant-muted:#66717e;
  --af-assistant-line:rgba(99,119,140,.24);
  --af-assistant-header:#0b1118;
}
.af-assistant-launcher{
  width:60px;
  height:60px;
  padding:5px;
  border:1px solid rgba(255,115,16,.8);
  border-radius:18px;
  display:grid;
  place-items:center;
  cursor:pointer;
  background:linear-gradient(145deg,#151e28,#080c11);
  color:#fff;
  box-shadow:0 16px 42px rgba(255,115,16,.3),inset 0 1px rgba(255,255,255,.08);
  transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease;
}
.af-assistant-launcher:hover{
  border-color:#ffad68;
  background:linear-gradient(145deg,#192532,#090e14);
  box-shadow:0 19px 48px rgba(255,115,16,.38),inset 0 1px rgba(255,255,255,.1);
  transform:translateY(-2px);
}
.af-assistant-launcher:focus-visible,
.af-assistant-panel button:focus-visible,
.af-assistant-panel input:focus-visible,
.af-assistant-panel textarea:focus-visible{
  outline:3px solid color-mix(in srgb,var(--af-assistant-accent) 45%,transparent);
  outline-offset:2px;
}
.af-assistant-logo{display:block;width:100%;height:100%;object-fit:contain}
.af-assistant-launcher .af-assistant-logo{width:48px;height:48px}
.af-assistant-launcher svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.9}
.af-assistant-launcher[aria-expanded="true"] .af-assistant-open-icon{display:none}
.af-assistant-launcher[aria-expanded="false"] .af-assistant-close-icon{display:none}

.af-assistant-panel{
  position:absolute;
  inset-inline-start:0;
  bottom:72px;
  width:min(398px,calc(100vw - 28px));
  height:min(620px,calc(100vh - 110px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  border:1px solid var(--af-assistant-line);
  border-radius:20px;
  background:var(--af-assistant-surface);
  color:var(--af-assistant-text);
  box-shadow:0 24px 70px rgba(5,15,35,.26);
}
.af-assistant-panel[hidden]{display:none}
.af-assistant-header{
  min-height:70px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:var(--af-assistant-header);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.af-assistant-identity{display:flex;align-items:center;gap:10px;min-width:0}
.af-assistant-mark{
  width:46px;height:46px;
  display:grid;place-items:center;
  background:transparent;
  flex:0 0 auto;
}
.af-assistant-mark .af-assistant-logo{width:46px;height:46px}
.af-assistant-title{display:grid;line-height:1.25;min-width:0}
.af-assistant-title b{font-size:.9rem}
.af-assistant-title small{font-size:.64rem;color:#b8c5d8;margin-top:3px}
.af-assistant-close{
  width:36px;height:36px;border:1px solid rgba(255,255,255,.15);border-radius:11px;
  display:grid;place-items:center;cursor:pointer;
  background:rgba(255,255,255,.055);color:#fff;
  transition:background 160ms ease,border-color 160ms ease;
}
.af-assistant-close:hover{border-color:rgba(255,115,16,.72);background:rgba(255,115,16,.14)}
.af-assistant-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.9}

.af-assistant-messages{
  overflow:auto;
  padding:15px;
  display:flex;
  flex-direction:column;
  gap:11px;
  overscroll-behavior:contain;
  background:var(--af-assistant-bg);
}
.af-assistant-message{
  max-width:88%;
  display:grid;
  gap:6px;
}
.af-assistant-message.user{align-self:flex-end}
.af-assistant-message.assistant{align-self:flex-start}
.af-assistant-bubble{
  padding:11px 13px;
  border-radius:15px;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.65;
  font-size:.78rem;
}
.af-assistant-message.user .af-assistant-bubble{
  background:linear-gradient(135deg,var(--af-assistant-accent),var(--af-assistant-accent-2));
  color:#fff;
  border-end-end-radius:5px;
}
.af-assistant-message.assistant .af-assistant-bubble{
  background:var(--af-assistant-surface);
  border:1px solid var(--af-assistant-line);
  color:var(--af-assistant-text);
  border-end-start-radius:5px;
}
.af-assistant-bubble strong{font-weight:950}
.af-assistant-meta{
  padding-inline:4px;
  color:var(--af-assistant-muted);
  font-size:.58rem;
}
.af-assistant-message.user .af-assistant-meta{text-align:end}

.af-assistant-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.af-assistant-action{
  min-height:42px;
  padding:0 12px;
  border:1px solid var(--af-assistant-accent);
  border-radius:11px;
  background:transparent;
  color:var(--af-assistant-accent);
  font-weight:900;
  font-size:.68rem;
  cursor:pointer;
}
html[data-theme="dark"] .af-assistant-action{color:#ffad68}
.af-assistant-action:hover{background:color-mix(in srgb,var(--af-assistant-accent) 10%,transparent)}

.af-assistant-ticket-editor{
  width:100%;
  display:grid;
  gap:9px;
  padding:12px;
  border:1px solid var(--af-assistant-line);
  border-radius:15px;
  background:var(--af-assistant-surface);
}
.af-assistant-ticket-editor label{display:grid;gap:5px;font-size:.65rem;font-weight:850}
.af-assistant-ticket-editor input,
.af-assistant-ticket-editor textarea{
  width:100%;
  border:1px solid var(--af-assistant-line);
  border-radius:10px;
  background:var(--af-assistant-bg);
  color:var(--af-assistant-text);
  padding:9px 10px;
  font:inherit;
  font-size:.72rem;
}
.af-assistant-ticket-editor textarea{min-height:94px;resize:vertical}
.af-assistant-ticket-note{
  margin:0;
  color:var(--af-assistant-muted);
  font-size:.59rem;
  line-height:1.55;
}
.af-assistant-ticket-controls{display:flex;gap:7px;flex-wrap:wrap}
.af-assistant-confirm,
.af-assistant-cancel{
  min-height:44px;
  border-radius:11px;
  padding:0 13px;
  cursor:pointer;
  font-weight:900;
  font-size:.68rem;
}
.af-assistant-confirm{border:1px solid var(--af-assistant-accent);background:linear-gradient(135deg,var(--af-assistant-accent),var(--af-assistant-accent-2));color:#fff}
.af-assistant-cancel{border:1px solid var(--af-assistant-line);background:transparent;color:var(--af-assistant-text)}

.af-assistant-typing{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:20px;
}
.af-assistant-typing i{
  width:6px;height:6px;border-radius:50%;
  background:var(--af-assistant-muted);
  animation:afAssistantPulse 1s infinite ease-in-out;
}
.af-assistant-typing i:nth-child(2){animation-delay:.15s}
.af-assistant-typing i:nth-child(3){animation-delay:.3s}
@keyframes afAssistantPulse{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

.af-assistant-composer{
  padding:11px;
  display:grid;
  gap:8px;
  border-top:1px solid var(--af-assistant-line);
  background:var(--af-assistant-surface);
}
.af-assistant-input-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px}
.af-assistant-input{
  width:100%;
  min-height:48px;
  max-height:120px;
  resize:none;
  border:1px solid var(--af-assistant-line);
  border-radius:13px;
  background:var(--af-assistant-bg);
  color:var(--af-assistant-text);
  padding:11px 12px;
  font:inherit;
  font-size:.76rem;
  line-height:1.5;
}
.af-assistant-send{
  width:48px;height:48px;border:0;border-radius:13px;
  display:grid;place-items:center;cursor:pointer;
  background:linear-gradient(135deg,var(--af-assistant-accent),var(--af-assistant-accent-2));color:#fff;
}
.af-assistant-send:hover{filter:brightness(1.08)}
.af-assistant-send:disabled{opacity:.55;cursor:not-allowed}
.af-assistant-send svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.af-assistant-privacy{
  display:flex;align-items:flex-start;gap:6px;
  color:var(--af-assistant-muted);
  font-size:.56rem;
  line-height:1.45;
}
.af-assistant-privacy svg{width:14px;height:14px;flex:0 0 auto;margin-top:1px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.af-assistant-error{
  padding:9px 11px;
  border:1px solid #d76464;
  border-radius:11px;
  background:color-mix(in srgb,#d76464 10%,var(--af-assistant-surface));
  color:var(--af-assistant-text);
  font-size:.68rem;
}

@media(max-width:620px){
  .af-assistant-root{inset-inline-start:12px;bottom:12px}
  .af-assistant-launcher{width:54px;height:54px;border-radius:17px}
  .af-assistant-panel{
    position:fixed;
    inset-inline:8px;
    bottom:76px;
    width:auto;
    height:min(650px,calc(100dvh - 92px));
    border-radius:18px;
  }
  .af-assistant-messages{padding:12px}
  .af-assistant-message{max-width:92%}
}
@media(prefers-reduced-motion:reduce){
  .af-assistant-typing i{animation:none}
  .af-assistant-launcher,.af-assistant-action{transition:none!important}
}

/* V28: high-contrast assistant launcher on both light and dark pages. */
html .af-assistant-root .af-assistant-launcher {
  width:64px !important;
  height:64px !important;
  padding:5px !important;
  border:2px solid #ff7a16 !important;
  border-radius:19px !important;
  background:linear-gradient(145deg,#122035,#07101e) !important;
  box-shadow:0 16px 38px rgba(5,16,30,.32),0 0 0 3px rgba(255,122,22,.11) !important;
}
html .af-assistant-root .af-assistant-launcher:hover {
  background:linear-gradient(145deg,#172a45,#091526) !important;
  box-shadow:0 19px 44px rgba(5,16,30,.38),0 0 0 4px rgba(255,122,22,.16) !important;
}
html .af-assistant-root .af-assistant-launcher .af-assistant-logo {
  width:56px !important;
  height:auto !important;
  max-height:44px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.34));
}
@media(max-width:620px){
  html .af-assistant-root .af-assistant-launcher{width:58px !important;height:58px !important;border-radius:17px !important}
  html .af-assistant-root .af-assistant-launcher .af-assistant-logo{width:50px !important;max-height:40px !important}
}

/* V31.4 — keep the assistant visible without covering portal content */
html .af-assistant-root .af-assistant-launcher {
  width: 54px !important;
  height: 54px !important;
  border-radius: 16px !important;
  padding: 5px !important;
}
html .af-assistant-root .af-assistant-launcher .af-assistant-logo {
  width: 45px !important;
  max-height: 36px !important;
}
@media(max-width:620px){
  html .af-assistant-root .af-assistant-launcher{width:50px !important;height:50px !important;border-radius:15px !important}
  html .af-assistant-root .af-assistant-launcher .af-assistant-logo{width:42px !important;max-height:34px !important}
}
