/* Shell */
.iloveat-coach-shell{
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 18px 0;
}
.iloveat-coach-card{
  width: min(980px, 100%);
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  background: #fff;
  overflow: hidden;
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial;
}

/* Header */
.iloveat-coach-header{
  display:flex;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 12px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.iloveat-coach-brand{
  font-weight: 800;
  font-size: 22px;
  letter-spacing: .2px;
}
.iloveat-coach-sub{
  margin-top: 4px;
  font-size: 13px;
  opacity: .75;
}
.iloveat-coach-status{
  display:flex;
  align-items:center;
  gap: 8px;
  font-size: 13px;
  opacity: .8;
  white-space: nowrap;
}
.iloveat-dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #21c55d;
  box-shadow: 0 0 0 3px rgba(33,197,93,.16);
}

/* Quickbar */
.iloveat-coach-quickbar{
  padding: 12px 18px;
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Chat */
.iloveat-coach-chat{
  padding: 12px 18px 6px;
  height: 520px;
  overflow-y: auto;
  background: rgba(0,0,0,.018);
}
.iloveat-msg{
  margin: 10px 0 14px;
}
.iloveat-msg-label{
  font-size: 11px;
  opacity: .65;
  margin-bottom: 6px;
}
.iloveat-msg-bubble{
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
  line-height: 1.65;
  font-size: 14px;
  word-break: break-word;
  white-space: normal;
}
.iloveat-msg-assistant .iloveat-msg-bubble{
  background: #fff;
}
.iloveat-msg-user{
  display:flex;
  flex-direction: column;
  align-items: flex-end;
}
.iloveat-msg-user .iloveat-msg-bubble{
  background: rgba(236,72,153,.08);
  border-color: rgba(236,72,153,.18);
}

/* Input */
.iloveat-coach-input{
  padding: 12px 18px 16px;
  display:flex;
  gap: 10px;
  border-top: 1px solid rgba(0,0,0,.06);
  background: #fff;
}
#iloveatCoachInput{
  flex:1;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.35;
  outline: none;
}
#iloveatCoachInput:focus{
  border-color: rgba(236,72,153,.45);
  box-shadow: 0 0 0 4px rgba(236,72,153,.12);
}

/* Buttons */
.iloveat-btn{
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  padding: 10px 12px;
  border-radius: 14px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1;
  transition: transform .08s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  user-select: none;
}
.iloveat-btn:active{ transform: scale(.99); }
.iloveat-btn:hover{ box-shadow: 0 8px 18px rgba(0,0,0,.08); }
.iloveat-btn:disabled{ opacity: .55; cursor: not-allowed; }

.iloveat-btn-primary{
  background: #ec4899;
  border-color: rgba(236,72,153,.5);
  color: #fff;
}
.iloveat-btn-primary:hover{
  box-shadow: 0 10px 22px rgba(236,72,153,.22);
}
.iloveat-btn-ghost{
  background: rgba(0,0,0,.02);
}
.iloveat-btn-soft{
  background: rgba(0,0,0,.02);
}

/* Accordion */
.iloveat-coach-accordion{
  padding: 0 18px 18px;
}
.iloveat-acc-toggle{
  width: 100%;
  display:flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
  cursor: pointer;
  font-size: 13px;
}
.iloveat-acc-body{
  margin-top: 10px;
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* Locked */
.iloveat-coach-locked{
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
}

/* Modal */
.iloveat-modal{
  position: fixed;
  inset: 0;
  z-index: 999999;
  display:flex;
  align-items:center;
  justify-content:center;
}
.iloveat-modal-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.45);
}
.iloveat-modal-card{
  position:relative;
  z-index: 1;
  width: min(520px, 92vw);
  background:#fff;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.iloveat-modal-head{
  padding: 6px 6px 12px;
}
.iloveat-modal-title{
  font-weight: 800;
  font-size: 16px;
}
.iloveat-modal-sub{
  margin-top: 2px;
  font-size: 12px;
  opacity:.7;
}
.iloveat-step-tag{
  font-size: 12px;
  opacity:.75;
  padding: 0 6px 10px;
}
.iloveat-field{
  display:block;
  margin: 10px 6px;
}
.iloveat-field span{
  display:block;
  font-size: 12px;
  opacity:.85;
  margin-bottom: 6px;
}
.iloveat-field input,
.iloveat-field select,
.iloveat-field textarea{
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 10px 12px;
  font-size: 14px;
  outline: none;
}
.iloveat-field input:focus,
.iloveat-field select:focus,
.iloveat-field textarea:focus{
  border-color: rgba(236,72,153,.45);
  box-shadow: 0 0 0 4px rgba(236,72,153,.12);
}
.iloveat-checks{
  display:flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  font-size: 13px;
}
.iloveat-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap: 10px;
  padding: 10px 6px 6px;
}
.iloveat-onb-note{
  padding: 8px 6px 0;
  font-size: 12px;
  opacity:.65;
}

/* Mobile */
@media (max-width: 720px){
  .iloveat-coach-chat{ height: 460px; }
}
