/* =========================================================
   KAIZEN AI — ISOLATED COMPONENT STYLES
   Only styles the Kaizen AI widget. Does not alter site layout.
========================================================= */

.kaizen-ai,
.kaizen-ai *{
  box-sizing:border-box;
}

.kaizen-ai{
  position:relative;
  z-index:9998;
}

/* Floating launcher */
.kaizen-ai-toggle{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:9999 !important;
  min-height:58px !important;
  padding:0 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  border:0 !important;
  border-radius:100px !important;
  background:var(--green) !important;
  color:#04150f !important;
  box-shadow:0 15px 40px #07161235 !important;
  font:800 13px var(--display) !important;
  line-height:1 !important;
  cursor:pointer !important;
  visibility:visible !important;
  opacity:1 !important;
  appearance:none !important;
}

.kaizen-ai-toggle:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 45px #07161245 !important;
}

.kaizen-ai-icon{
  display:grid !important;
  place-items:center !important;
  width:25px !important;
  height:25px !important;
  font-size:17px !important;
  line-height:1 !important;
}

.kaizen-ai-toggle-text{
  white-space:nowrap !important;
}

.kaizen-ai-pulse{
  width:7px !important;
  height:7px !important;
  flex:0 0 7px !important;
  border-radius:50% !important;
  background:#04150f !important;
  animation:kaizen-ai-pulse 1.8s infinite;
}

@keyframes kaizen-ai-pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.35;transform:scale(.7)}
}

/* Chat panel */
.kaizen-ai-panel{
  position:fixed !important;
  right:24px !important;
  bottom:94px !important;
  z-index:9999 !important;
  width:min(390px,calc(100% - 32px)) !important;
  height:min(600px,calc(100vh - 125px)) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:22px !important;
  box-shadow:0 25px 80px #07161230 !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  transform-origin:bottom right !important;
}

.kaizen-ai-panel[hidden]{
  display:flex !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  transform:translateY(10px) scale(.98) !important;
}

/* Header */
.kaizen-ai-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:15px !important;
  flex:0 0 auto !important;
  padding:18px 20px !important;
  background:var(--ink) !important;
  color:#fff !important;
}

.kaizen-ai-head > div{
  min-width:0;
}

.kaizen-ai-head strong{
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  font:800 15px/1.25 var(--display) !important;
}

.kaizen-ai-head span{
  display:block !important;
  margin-top:2px !important;
  color:#8fa59c !important;
  font:400 11px/1.4 var(--body) !important;
}

.kaizen-ai-close{
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  padding:0 !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  border-radius:50% !important;
  background:#ffffff10 !important;
  color:#fff !important;
  font:400 22px/1 Arial,sans-serif !important;
  cursor:pointer !important;
  appearance:none !important;
}

.kaizen-ai-close:hover{
  background:#ffffff20 !important;
}

/* Messages */
.kaizen-ai-messages{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  padding:18px !important;
  background:var(--paper) !important;
}

.kaizen-ai-message{
  max-width:86% !important;
  padding:11px 13px !important;
  margin:0 0 10px !important;
  border-radius:14px !important;
  font:400 13px/1.55 var(--body) !important;
  overflow-wrap:anywhere !important;
}

.kaizen-ai-message.ai{
  background:#fff !important;
  border:1px solid var(--line) !important;
  color:var(--ink) !important;
}

.kaizen-ai-message.user{
  margin-left:auto !important;
  background:var(--green) !important;
  border:0 !important;
  color:#04150f !important;
}

.kaizen-ai-message p{
  margin:0 !important;
  color:inherit !important;
  font:inherit !important;
}

.kaizen-ai-label{
  display:block !important;
  margin:0 0 5px !important;
  color:var(--green) !important;
  font:800 9px/1 var(--display) !important;
  letter-spacing:.1em !important;
}

.kaizen-ai-message.typing p{
  opacity:.65 !important;
}

/* Suggested prompts */
.kaizen-ai-suggestions{
  display:flex !important;
  flex:0 0 auto !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  padding:0 18px 12px !important;
  background:var(--paper) !important;
}

.kaizen-ai-suggestions.is-hidden{
  display:none !important;
}

.kaizen-ai-suggestions button{
  width:auto !important;
  min-height:0 !important;
  padding:7px 10px !important;
  border:1px solid var(--line) !important;
  border-radius:100px !important;
  background:#fff !important;
  color:var(--ink) !important;
  font:600 10px/1.25 var(--display) !important;
  cursor:pointer !important;
  appearance:none !important;
}

.kaizen-ai-suggestions button:hover{
  border-color:var(--green) !important;
  color:var(--green) !important;
}

/* Input */
.kaizen-ai-form{
  display:flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  gap:8px !important;
  padding:12px !important;
  border-top:1px solid var(--line) !important;
  background:#fff !important;
}

.kaizen-ai-form label{
  margin:0 !important;
}

.kaizen-ai-form input{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:auto !important;
  height:42px !important;
  margin:0 !important;
  padding:10px 13px !important;
  border:1px solid var(--line) !important;
  border-radius:100px !important;
  outline:0 !important;
  color:var(--ink) !important;
  background:#fff !important;
  font:400 13px/1.2 var(--body) !important;
  appearance:none !important;
}

.kaizen-ai-form input::placeholder{
  color:#8a9691 !important;
  opacity:1 !important;
}

.kaizen-ai-form input:focus{
  border-color:var(--green) !important;
  box-shadow:0 0 0 3px #20b87515 !important;
}

.kaizen-ai-form input:disabled{
  opacity:.65 !important;
}

.kaizen-ai-form button{
  flex:0 0 42px !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--green) !important;
  color:#04150f !important;
  font:800 18px/1 Arial,sans-serif !important;
  cursor:pointer !important;
  appearance:none !important;
}

.kaizen-ai-form button:hover{
  transform:translateY(-1px);
}

/* Disclaimer */
.kaizen-ai-disclaimer{
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 14px 12px !important;
  background:#fff !important;
  color:#87968f !important;
  font:400 9px/1.4 var(--body) !important;
  text-align:center !important;
}

/* Navbar trigger */
.kaizen-ai-nav-link{
  cursor:pointer;
}

/* Mobile */
@media(max-width:780px){
  .kaizen-ai-toggle{
    right:16px !important;
    bottom:16px !important;
    min-height:54px !important;
    padding:0 15px !important;
  }

  .kaizen-ai-panel{
    right:16px !important;
    bottom:86px !important;
    width:calc(100% - 32px) !important;
    height:min(600px,calc(100vh - 105px)) !important;
  }
}

@media(max-width:480px){
  .kaizen-ai-toggle{
    width:54px !important;
    height:54px !important;
    min-height:54px !important;
    padding:0 !important;
    border-radius:50% !important;
  }

  .kaizen-ai-toggle-text,
  .kaizen-ai-pulse{
    display:none !important;
  }

  .kaizen-ai-panel{
    right:12px !important;
    bottom:78px !important;
    width:calc(100% - 24px) !important;
  }
}
