.kes-ai-agent {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 180;
  width: min(390px, calc(100vw - 28px));
  color: #f7fbff;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kes-ai-agent * { box-sizing: border-box; }
.kes-ai-agent.is-collapsed .kes-ai-panel { display: none; }
.kes-ai-bubble {
  display: none;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 58px;
  padding: 12px 15px;
  border: 1px solid rgba(30,167,255,.42);
  border-radius: 18px;
  background: rgba(8,12,20,.94);
  color: #fff;
  box-shadow: 0 18px 55px rgba(0,0,0,.36), 0 0 28px rgba(30,167,255,.16);
  cursor: pointer;
}
.kes-ai-agent.is-collapsed .kes-ai-bubble { display: flex; }
.kes-ai-dot {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 12px;
  background: var(--kes-agent-accent, #1ea7ff);
  color: #06101a;
  font-weight: 900;
  box-shadow: 0 0 24px color-mix(in srgb, var(--kes-agent-accent, #1ea7ff) 45%, transparent);
}
.kes-ai-bubble strong,
.kes-ai-title { display: block; font-size: 14px; font-weight: 900; letter-spacing: .01em; }
.kes-ai-bubble span,
.kes-ai-subtitle { display: block; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.35; }
.kes-ai-panel {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(14,20,32,.98), rgba(7,9,14,.98));
  box-shadow: 0 26px 80px rgba(0,0,0,.48), 0 0 32px rgba(30,167,255,.13);
}
.kes-ai-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: radial-gradient(circle at 16% 0%, color-mix(in srgb, var(--kes-agent-accent, #1ea7ff) 24%, transparent), transparent 44%), rgba(255,255,255,.03);
}
.kes-ai-head-copy { min-width: 0; flex: 1; }
.kes-ai-close {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.8);
  cursor: pointer;
}
.kes-ai-messages {
  display: flex;
  flex-direction: column;
  gap: 9px;
  height: min(360px, 46vh);
  min-height: 230px;
  padding: 14px;
  overflow-y: auto;
  scroll-behavior: smooth;
}
.kes-ai-msg {
  max-width: 92%;
  padding: 10px 12px;
  border-radius: 14px;
  color: rgba(255,255,255,.88);
  font-size: 13px;
  line-height: 1.45;
  white-space: pre-line;
}
.kes-ai-msg.agent {
  align-self: flex-start;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.055);
}
.kes-ai-msg.user {
  align-self: flex-end;
  background: var(--kes-agent-accent, #1ea7ff);
  color: #041018;
  font-weight: 700;
}
.kes-ai-msg.system {
  align-self: center;
  max-width: 100%;
  background: rgba(56,217,150,.12);
  border: 1px solid rgba(56,217,150,.22);
  color: #baf7d8;
}
.kes-ai-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 0 14px 12px;
}
.kes-ai-chip {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: rgba(255,255,255,.84);
  padding: 8px 10px;
  font-size: 12px;
  cursor: pointer;
}
.kes-ai-form {
  display: grid;
  grid-template-columns: minmax(0,1fr) 48px;
  gap: 8px;
  padding: 12px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.kes-ai-input {
  min-height: 44px;
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  color: #fff;
  padding: 10px 12px;
  outline: none;
}
.kes-ai-input:focus { border-color: var(--kes-agent-accent, #1ea7ff); }
.kes-ai-send {
  border: 0;
  border-radius: 12px;
  background: var(--kes-agent-accent, #1ea7ff);
  color: #061018;
  font-size: 20px;
  font-weight: 900;
  cursor: pointer;
}
.kes-ai-consent {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 0 12px 8px;
  color: rgba(235,242,255,.76);
  font-size: 11px;
  line-height: 1.35;
  cursor: pointer;
}
.kes-ai-consent input { margin: 2px 0 0; accent-color: var(--kes-agent-accent, #1ea7ff); }
.kes-ai-consent a { color: #8bdcff; }
.kes-ai-note {
  padding: 0 14px 14px;
  color: rgba(255,255,255,.5);
  font-size: 11px;
  line-height: 1.35;
}
.kes-ai-note a { color: var(--kes-agent-accent, #1ea7ff); }
@media (max-width: 620px) {
  .kes-ai-agent {
    right: 10px;
    bottom: 10px;
    width: calc(100vw - 20px);
  }
  .kes-ai-messages {
    height: min(330px, 44vh);
  }
  .kes-ai-agent:not(.is-collapsed) {
    bottom: max(10px, env(safe-area-inset-bottom));
  }
}
