.faso-ai-launcher:focus-visible,
.faso-ai-panel button:focus-visible,
.faso-ai-panel input:focus-visible {
  outline: 3px solid rgba(11, 93, 59, .28);
  outline-offset: 3px;
}

.faso-ai-launcher {
  cursor: grab;
  touch-action: none;
  border: 1px solid rgba(255, 255, 255, .45);
  background:
    radial-gradient(circle at 25% 15%, rgba(255, 255, 255, .28), transparent 34%),
    linear-gradient(135deg, #0B5D3B, #087044);
}

.faso-ai-launcher.is-moving {
  cursor: grabbing;
  transform: scale(1.02);
}

.faso-ai-launcher.is-draggable {
  position: fixed;
}

.faso-ai-panel {
  backdrop-filter: blur(16px);
}

.faso-ai-window-actions {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.faso-ai-window-actions .faso-ia-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 900;
}

.faso-ai-status {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .72rem 1rem;
  border-bottom: 1px solid #e8f3ee;
  background: #f7fcf9;
  color: #34584a;
  font-size: .86rem;
  font-weight: 800;
}

.faso-ai-context {
  display: grid;
  gap: .15rem;
  padding: .8rem 1rem;
  border-bottom: 1px solid #e8f3ee;
  background: #fff;
}

.faso-ai-context b {
  color: #0B5D3B;
  font-size: .92rem;
}

.faso-ai-context span {
  color: #5e7369;
  font-size: .88rem;
  line-height: 1.35;
}

.faso-ai-proactive {
  display: none;
  gap: .45rem;
  overflow-x: auto;
  padding: .72rem 1rem 0;
  background: #fff;
}

.faso-ai-proactive button {
  border: 1px solid #cfe6da;
  background: #f7fcf9;
  color: #0B5D3B;
  border-radius: 999px;
  padding: .4rem .65rem;
  font-weight: 900;
  white-space: nowrap;
  font-size: .86rem;
}

.faso-ai-panel .faso-ia-header {
  background:
    radial-gradient(circle at 18% 10%, rgba(255, 255, 255, .9), transparent 35%),
    linear-gradient(135deg, #f7fffb, #e8f6ee);
}

.faso-ai-panel .faso-ia-title b {
  font-size: 1.08rem;
}

.faso-ai-panel .faso-ia-title small {
  margin-top: .12rem;
}

.faso-ai-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d6a300;
  box-shadow: 0 0 0 4px rgba(214, 163, 0, .12);
  flex: 0 0 auto;
}

.faso-ai-status.is-online .faso-ai-dot {
  background: #0b8f56;
  box-shadow: 0 0 0 4px rgba(11, 143, 86, .12);
}

.faso-ai-status.is-offline .faso-ai-dot {
  background: #a05a00;
  box-shadow: 0 0 0 4px rgba(160, 90, 0, .12);
}

.faso-ai-footer-actions {
  padding: .72rem 1rem 1rem;
  background: #fff;
}

.faso-ai-footer-actions button,
.faso-ai-retry {
  border: 1px solid #cfe6da;
  background: #fff;
  color: #0B5D3B;
  border-radius: 999px;
  padding: .45rem .75rem;
  font-weight: 900;
}

.faso-ai-panel .faso-ia-message {
  box-shadow: 0 10px 26px rgba(7, 59, 38, .05);
  line-height: 1.45;
}

.faso-ai-panel .faso-ia-message-ai {
  border-color: #dceee5;
  background: linear-gradient(180deg, #fff, #fbfffd);
}

.faso-ai-panel .faso-ia-message-ai p {
  margin-bottom: .55rem;
}

.faso-ai-panel .faso-ia-message-ai p:last-child {
  margin-bottom: 0;
}

.faso-ai-answer {
  display: grid;
  gap: .65rem;
}

.faso-ai-answer p {
  color: #294d3d;
}

.faso-ai-answer-grid {
  display: grid;
  gap: .58rem;
  margin-top: .15rem;
}

.faso-ai-answer-card {
  display: grid;
  gap: .28rem;
  border: 1px solid #dbeee5;
  border-radius: 16px;
  padding: .72rem .8rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcfa 100%);
  box-shadow: 0 8px 20px rgba(7, 59, 38, .06);
}

.faso-ai-answer-card b {
  color: #063d29;
  font-size: .96rem;
  line-height: 1.25;
}

.faso-ai-answer-card span {
  color: #4f6a5e;
  font-size: .92rem;
  line-height: 1.38;
}

.faso-ia-confidence {
  display: inline-flex;
  width: fit-content;
  margin-top: .65rem;
  border-radius: 999px;
  padding: .32rem .62rem;
  background: #edf8f2;
  color: #0B5D3B;
  font-size: .78rem;
  font-weight: 900;
}

.faso-ai-panel .faso-ia-message-ai b {
  color: #063d29;
  font-size: 1.02rem;
}

.faso-ai-panel .faso-ia-message-user {
  border-color: #0B5D3B;
  background: linear-gradient(135deg, #0B5D3B, #087044);
}

.faso-ai-panel .faso-ia-form {
  box-shadow: 0 -10px 24px rgba(7, 59, 38, .04);
  gap: .65rem;
  padding-top: .85rem;
}

.faso-ai-panel .faso-ia-form input {
  min-height: 50px;
}

.faso-ia-panel[aria-hidden="true"] {
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .faso-ai-launcher,
  .faso-ai-panel {
    transition: transform .18s ease, opacity .18s ease;
  }
}

/* V97.0 professional contextual actions */
.faso-ai-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.faso-ai-action{display:inline-flex;align-items:center;min-height:38px;padding:.5rem .8rem;border:1px solid rgba(5,106,71,.24);border-radius:999px;background:#fff;color:#075f44;font-weight:700;text-decoration:none}.faso-ai-action:first-child{background:#08734f;color:#fff;border-color:#08734f}.faso-ai-action:hover,.faso-ai-action:focus-visible{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
