/* Sage assistant dock (AI-Native law 2). Reserved violet; tokens only; motion-safe. */
.sage-ai-dock-btn {
  position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 900;
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.6rem 1rem; border: 0; border-radius: 999px; cursor: pointer;
  background: hsl(var(--ai, 262 83% 58%)); color: hsl(var(--ai-foreground, 0 0% 100%));
  font-weight: 600; font-size: 0.85rem; font-family: inherit;
  box-shadow: 0 6px 20px hsl(var(--ai, 262 83% 58%) / 0.35);
}
.sage-ai-dock-btn svg { width: 1rem; height: 1rem; }
@media (prefers-reduced-motion: no-preference) {
  .sage-ai-dock-btn { transition: transform 150ms ease, box-shadow 150ms ease; }
  .sage-ai-dock-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 26px hsl(var(--ai, 262 83% 58%) / 0.45); }
}

.sage-ai-dock {
  position: fixed; right: 1.25rem; bottom: 4.75rem; z-index: 901;
  width: min(360px, calc(100vw - 2.5rem));
  background: hsl(var(--card, 0 0% 100%)); color: hsl(var(--foreground, 222 47% 11%));
  border: 1px solid hsl(var(--ai, 262 83% 58%) / 0.3); border-radius: 0.75rem;
  box-shadow: 0 14px 36px hsl(222 47% 11% / 0.20); padding: 1rem;
}
@media (prefers-reduced-motion: no-preference) {
  .sage-ai-dock:not([hidden]) { animation: sage-slide-up 200ms ease-out both; }
}
.sage-ai-dock__head { display: flex; align-items: center; gap: 0.45rem; font-size: 1rem; }
.sage-ai-dock__head svg { width: 1.1rem; height: 1.1rem; color: hsl(var(--ai, 262 83% 58%)); }
.sage-ai-dock__close {
  margin-left: auto; background: none; border: 0; cursor: pointer;
  font-size: 1.35rem; line-height: 1; color: hsl(var(--muted-foreground, 215 16% 47%));
}
.sage-ai-dock__lead { margin: 0.8rem 0 0.4rem; font-size: 0.78rem; font-weight: 600; color: hsl(var(--ai, 262 83% 58%)); }
.sage-ai-dock__caps { margin: 0 0 0.85rem; padding-left: 1.15rem; display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.88rem; }
.sage-ai-dock__cmd { width: 100%; }
.sage-ai-dock__law { margin: 0.8rem 0 0; font-size: 0.76rem; color: hsl(var(--muted-foreground, 215 16% 47%)); }
.sage-ai-dock__ask { display: flex; gap: 0.4rem; margin-top: 0.85rem; }
.sage-ai-dock__input { flex: 1; min-width: 0; }
.sage-ai-dock__hint { margin: 0.45rem 0 0; font-size: 0.74rem; color: hsl(var(--muted-foreground, 215 16% 47%)); }
.sage-ai-dock__answer:not(:empty) { margin-top: 0.85rem; }
.sage-ai-dock__answer .sage-ai-card { max-height: 40vh; overflow: auto; }
