:root {
  --nika-navy: #0D1B2A;
  --nika-ivory: #F5F0E8;
  --nika-gold: #C9A84C;
  --nika-gold-light: #E8D5A3;
  --nika-green: #4CAF50;
}

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

.nika-ai-fab-wrap {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 99999;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.nika-ai-panel {
  position: absolute;
  right: 0;
  bottom: 66px;
  width: 390px;
  height: 570px;
  background: var(--nika-ivory);
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(13, 27, 42, .28);
  overflow: hidden;
  display: none;
  flex-direction: column;
  border: 1px solid rgba(13, 27, 42, .1);
  animation: nikaAiPop .25s ease;
}

.nika-ai-root.is-open .nika-ai-panel {
  display: flex;
}

.nika-ai-header {
  background: var(--nika-navy);
  padding: 11px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.nika-ai-title {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}

.nika-ai-status {
  color: var(--nika-gold-light);
  font-size: 10px;
  display: flex;
  align-items: center;
  gap: 5px;
}

.nika-ai-dot {
  width: 6px;
  height: 6px;
  background: var(--nika-green);
  border-radius: 50%;
  display: inline-block;
}

.nika-ai-avatar {
  width: 33px;
  height: 33px;
  border-radius: 50%;
  background: var(--nika-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nika-navy);
  font-weight: 700;
  flex-shrink: 0;
}

.nika-ai-header-left {
  display: flex;
  align-items: center;
  gap: 9px;
}

.nika-ai-icon-btn {
  background: rgba(255,255,255,.1);
  border: 0;
  color: rgba(255,255,255,.65);
  cursor: pointer;
  font-size: 14px;
  border-radius: 8px;
  padding: 4px 8px;
}

.nika-ai-close {
  background: transparent;
  border: 0;
  color: rgba(255,255,255,.55);
  cursor: pointer;
  font-size: 19px;
  line-height: 1;
}

.nika-ai-progress {
  background: #fff;
  padding: 7px 14px 9px;
  border-bottom: 1px solid #f0f0f0;
}

.nika-ai-progress-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
  font-size: 11px;
}

.nika-ai-progress-label {
  color: #aaa;
}

.nika-ai-progress-pct {
  color: var(--nika-gold);
  font-weight: 600;
}

.nika-ai-progress-track {
  height: 3px;
  background: #f0f0f0;
  border-radius: 4px;
}

.nika-ai-progress-fill {
  height: 3px;
  width: 0;
  background: var(--nika-gold);
  border-radius: 4px;
  transition: width .4s ease;
}

.nika-ai-body {
  flex: 1;
  overflow-y: auto;
  padding: 14px 12px 8px;
}

.nika-ai-start {
  text-align: center;
  padding: 28px 20px;
}

.nika-ai-start h3 {
  font-family: "Cormorant Garamond", Georgia, serif;
  color: var(--nika-navy);
  font-size: 24px;
  margin: 0 0 8px;
  line-height: 1.2;
}

.nika-ai-start p {
  color: #777;
  font-size: 12px;
  line-height: 1.65;
  margin: 0 auto 16px;
  max-width: 280px;
}

.nika-ai-quick-grid {
  display: grid;
  gap: 8px;
  margin: 16px 0 18px;
}

.nika-ai-quick {
  width: 100%;
  border: 1px solid rgba(201,168,76,.45);
  background: #fff;
  color: var(--nika-navy);
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}

.nika-ai-start-btn,
.nika-ai-send-lead {
  border: 0;
  background: var(--nika-navy);
  color: #fff;
  border-radius: 22px;
  padding: 11px 24px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.nika-ai-msg-row {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
  align-items: flex-end;
}

.nika-ai-msg-row.user {
  justify-content: flex-end;
}

.nika-ai-bubble {
  max-width: 80%;
  padding: 10px 13px;
  border-radius: 16px 16px 16px 4px;
  background: var(--nika-navy);
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
  white-space: pre-wrap;
}

.nika-ai-msg-row.user .nika-ai-bubble {
  background: var(--nika-gold);
  color: var(--nika-navy);
  border-radius: 16px 16px 4px 16px;
}

.nika-ai-typing {
  display: flex;
  gap: 5px;
  padding: 10px 14px;
  background: var(--nika-navy);
  border-radius: 16px 16px 16px 4px;
  width: fit-content;
}

.nika-ai-typing span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--nika-gold);
  animation: nikaAiBlink 1.2s infinite;
}

.nika-ai-typing span:nth-child(2) { animation-delay: .2s; }
.nika-ai-typing span:nth-child(3) { animation-delay: .4s; }

.nika-ai-card {
  margin: 8px 0 8px 36px;
  border: 1.5px solid var(--nika-gold);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.nika-ai-card-head {
  background: var(--nika-gold);
  color: var(--nika-navy);
  font-weight: 700;
  font-size: 12px;
  padding: 8px 14px;
}

.nika-ai-card-body {
  padding: 10px 14px;
}

.nika-ai-card-row {
  display: flex;
  gap: 8px;
  margin-bottom: 5px;
}

.nika-ai-card-label {
  color: #aaa;
  font-size: 11px;
  min-width: 92px;
  flex-shrink: 0;
}

.nika-ai-card-value {
  color: var(--nika-navy);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
}

.nika-ai-error {
  background: #fff3f3;
  color: #c0392b;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 12px;
  margin: 6px 0 6px 36px;
}

.nika-ai-disclaimer {
  font-size: 10px;
  color: #bbb;
  text-align: center;
  padding: 2px 14px 5px;
}

.nika-ai-input {
  background: #fff;
  border-top: 1px solid #eee;
  padding: 9px 11px;
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.nika-ai-input input {
  flex: 1;
  border: 1.5px solid #e0e0e0;
  border-radius: 20px;
  padding: 9px 14px;
  font-size: 14px;
  color: var(--nika-navy);
}

.nika-ai-input input:focus {
  border-color: var(--nika-gold);
  outline: none;
}

.nika-ai-send {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 0;
  background: var(--nika-navy);
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
}

.nika-ai-fab {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--nika-navy);
  border: 2px solid var(--nika-gold);
  color: var(--nika-gold);
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(13,27,42,.35);
  font-size: 22px;
}

@keyframes nikaAiBlink {
  0%,100% { opacity:.3; transform:scale(.8); }
  50% { opacity:1; transform:scale(1); }
}

@keyframes nikaAiPop {
  from { opacity:0; transform:scale(.92) translateY(12px); }
  to { opacity:1; transform:scale(1) translateY(0); }
}

@media (max-width: 520px) {
  .nika-ai-fab-wrap {
    right: 10px;
    bottom: 18px;
  }

  .nika-ai-panel {
    width: calc(100vw - 20px);
    height: calc(100svh - 108px);
  }
}

/* 0.4.1 embedded landing mode */
.nika-ai-root.is-embedded .nika-ai-fab-wrap {
  position: relative;
  right: auto;
  bottom: auto;
  z-index: 1;
  width: 100%;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.nika-ai-root.is-embedded .nika-ai-panel {
  position: relative;
  right: auto;
  bottom: auto;
  width: 100%;
  height: 596px;
  display: flex;
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(13, 27, 42, .22);
  border: 1px solid rgba(201, 168, 76, .22);
}

.nika-ai-root.is-embedded .nika-ai-close,
.nika-ai-root.is-embedded .nika-ai-fab {
  display: none !important;
}

.nika-ai-root.is-embedded .nika-ai-header {
  border-radius: 20px 20px 0 0;
}

.nika-ai-root.is-embedded .nika-ai-start {
  padding: 24px 18px;
}

.nika-ai-root.is-embedded .nika-ai-start h3 {
  font-size: 25px;
}

.nika-ai-root.is-embedded .nika-ai-body {
  min-height: 0;
}

@media (max-width: 940px) {
  .nika-ai-root.is-embedded .nika-ai-panel {
    height: 610px;
  }
}

@media (max-width: 520px) {
  .nika-ai-root.is-embedded .nika-ai-fab-wrap {
    right: auto;
    bottom: auto;
  }
  .nika-ai-root.is-embedded .nika-ai-panel {
    width: 100%;
    height: 640px;
    max-height: calc(100svh - 80px);
  }
}

/* 0.4.2 AI consultant premium visual pass */
.nika-ai-root {
  --nika-navy: #0D1B2A;
  --nika-ivory: #F7F2E8;
  --nika-gold: #B99A54;
  --nika-gold-light: #E9DCC0;
  --nika-line: rgba(185, 154, 84, .22);
}

.nika-ai-root.is-embedded .nika-ai-panel,
.nika-ai-panel {
  background: linear-gradient(180deg, #fffaf1 0%, #f7f2e8 48%, #ffffff 100%);
  border: 1px solid rgba(185, 154, 84, .24);
}

.nika-ai-root.is-embedded .nika-ai-panel {
  height: 620px;
  border-radius: 24px;
  box-shadow: 0 24px 62px rgba(13, 27, 42, .18);
}

.nika-ai-header {
  background: radial-gradient(220px 120px at 84% 0%, rgba(201,168,76,.32), transparent 70%), linear-gradient(135deg, #0D1B2A, #0B213D);
  padding: 14px 15px;
}

.nika-ai-avatar {
  background: linear-gradient(180deg, #e3c878, #b99a54);
  box-shadow: 0 10px 22px rgba(185, 154, 84, .24);
}

.nika-ai-title {
  font-weight: 800;
  letter-spacing: -.01em;
}

.nika-ai-status {
  color: #e9dcc0;
  opacity: .95;
}

.nika-ai-progress {
  background: rgba(255,255,255,.82);
  border-bottom: 1px solid rgba(185,154,84,.18);
}

.nika-ai-body {
  padding: 16px 14px 10px;
  background:
    radial-gradient(260px 160px at 100% 0%, rgba(185,154,84,.12), transparent 70%),
    transparent;
}

.nika-ai-start {
  text-align: left;
  padding: 28px 20px 22px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(185,154,84,.18);
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(13,27,42,.06);
}

.nika-ai-start h3 {
  font-size: 30px;
  line-height: 1.02;
  letter-spacing: -.03em;
  margin-bottom: 10px;
}

.nika-ai-start p {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  color: #566173;
  font-size: 13.3px;
  line-height: 1.52;
}

.nika-ai-quick-grid {
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.nika-ai-quick {
  min-height: 54px;
  border: 1px solid rgba(185,154,84,.32);
  background: linear-gradient(180deg, #fff, #fffaf1);
  color: #0D1B2A;
  border-radius: 16px;
  padding: 11px 12px;
  font-size: 12.8px;
  font-weight: 750;
  line-height: 1.25;
  box-shadow: 0 7px 18px rgba(13,27,42,.045);
}

.nika-ai-quick:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(13,27,42,.075);
}

.nika-ai-start-btn,
.nika-ai-send-lead,
.nika-ai-send {
  background: linear-gradient(135deg, #0D1B2A, #12345D);
}

.nika-ai-start-btn {
  width: 100%;
  min-height: 44px;
  border-radius: 16px;
  box-shadow: 0 12px 24px rgba(13,27,42,.18);
}

.nika-ai-msg-row {
  margin-bottom: 12px;
}

.nika-ai-bubble {
  background: linear-gradient(135deg, #0D1B2A, #12345D);
  font-size: 13.7px;
  line-height: 1.52;
  box-shadow: 0 10px 24px rgba(13,27,42,.12);
}

.nika-ai-msg-row.user .nika-ai-bubble {
  background: linear-gradient(180deg, #e0c56f, #b99a54);
  color: #07152A;
  font-weight: 650;
}

.nika-ai-card {
  border: 1px solid rgba(185,154,84,.42);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(13,27,42,.08);
}

.nika-ai-card-head {
  background: linear-gradient(180deg, #e0c56f, #b99a54);
  color: #07152A;
  padding: 10px 14px;
}

.nika-ai-input {
  background: rgba(255,255,255,.92);
  border-top: 1px solid rgba(185,154,84,.20);
  padding: 10px 12px;
}

.nika-ai-input input {
  border: 1px solid rgba(185,154,84,.30);
  border-radius: 999px;
  background: #fff;
}

.nika-ai-disclaimer {
  color: #98a2b3;
  background: rgba(255,255,255,.66);
}

@media (max-width: 520px) {
  .nika-ai-root.is-embedded .nika-ai-panel {
    height: 650px;
    max-height: calc(100svh - 78px);
    border-radius: 20px;
  }
  .nika-ai-quick-grid {
    grid-template-columns: 1fr;
  }
  .nika-ai-start {
    padding: 22px 15px 18px;
  }
  .nika-ai-start h3 {
    font-size: 26px;
  }
}


/* 0.4.5: compact embedded consultant opens as live chat */
.nika-ai-root.is-embedded .nika-ai-panel {
  animation: nikaConsultantSoftOpen .78s cubic-bezier(.2,.8,.2,1) .12s both;
}

.nika-ai-root.is-embedded .nika-ai-input {
  box-shadow: 0 -12px 28px rgba(13,27,42,.05);
}

.nika-ai-start-chat {
  text-align: left;
  padding: 24px 18px 18px;
}

.nika-ai-start-chat .nika-ai-intro-row {
  align-items: flex-start;
  margin-bottom: 16px;
}

.nika-ai-start-chat .nika-ai-bubble {
  max-width: calc(100% - 40px);
  background: linear-gradient(135deg, #0D1B2A, #153250);
  box-shadow: 0 12px 30px rgba(13,27,42,.16);
}

.nika-ai-quick-grid-chat {
  display: grid;
  gap: 10px;
  margin: 12px 0 12px 38px;
}

.nika-ai-quick-grid-chat .nika-ai-quick {
  min-height: 52px;
  border-radius: 17px;
  border: 1px solid rgba(201,168,76,.38);
  background: linear-gradient(180deg, #fff, #fffaf2);
  box-shadow: 0 8px 20px rgba(13,27,42,.05);
  font-size: 14px;
  font-weight: 800;
  color: var(--nika-navy);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.nika-ai-quick-grid-chat .nika-ai-quick:hover {
  transform: translateY(-1px);
  border-color: rgba(201,168,76,.75);
  box-shadow: 0 12px 26px rgba(13,27,42,.08);
}

.nika-ai-start-hint {
  margin-left: 38px;
  color: #8a93a3;
  font-size: 11.5px;
  line-height: 1.45;
}

@keyframes nikaConsultantSoftOpen {
  0% { opacity: 0; transform: translateY(18px) scale(.985); filter: blur(4px); }
  100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@media (max-width: 520px) {
  .nika-ai-start-chat {
    padding: 20px 14px 14px;
  }
  .nika-ai-quick-grid-chat {
    margin-left: 36px;
    gap: 9px;
  }
  .nika-ai-quick-grid-chat .nika-ai-quick {
    min-height: 50px;
    font-size: 13.5px;
    border-radius: 15px;
    padding: 10px 12px;
  }
  .nika-ai-start-hint {
    margin-left: 36px;
    font-size: 11px;
  }
}


/* 0.4.5 compact mobile-first consultant */
.nika-ai-root.is-embedded .nika-ai-title{font-size:14px;line-height:1.15;}
.nika-ai-root.is-embedded .nika-ai-status{font-size:11px;}
.nika-ai-root.is-embedded .nika-ai-avatar{width:34px;height:34px;}
.nika-ai-root.is-embedded .nika-ai-body{padding:10px 10px 6px;}
.nika-ai-root.is-embedded .nika-ai-disclaimer{font-size:9.5px;line-height:1.25;padding:2px 10px 4px;}
.nika-ai-root.is-embedded .nika-ai-input{padding:8px 9px;}
.nika-ai-root.is-embedded .nika-ai-input input{height:40px;padding:8px 12px;font-size:13.5px;}
.nika-ai-root.is-embedded .nika-ai-send{width:40px;height:40px;}
.nika-ai-start-chat{padding:14px 12px 10px;}
.nika-ai-start-chat .nika-ai-intro-row{margin-bottom:10px;}
.nika-ai-start-chat .nika-ai-bubble{font-size:14.5px;line-height:1.38;padding:11px 13px;}
.nika-ai-quick-grid-chat{gap:7px;margin:8px 0 8px 38px;}
.nika-ai-quick-grid-chat .nika-ai-quick{min-height:42px;border-radius:15px;padding:9px 12px;font-size:13.6px;line-height:1.12;box-shadow:0 6px 16px rgba(13,27,42,.045);}
@media (max-width:520px){
  .nika-ai-root.is-embedded .nika-ai-title{font-size:13.4px;}
  .nika-ai-root.is-embedded .nika-ai-status{font-size:10.5px;}
  .nika-ai-root.is-embedded .nika-ai-body{padding:8px 8px 4px;}
  .nika-ai-root.is-embedded .nika-ai-disclaimer{font-size:9px;padding:1px 8px 3px;}
  .nika-ai-root.is-embedded .nika-ai-input{padding:7px 8px;}
  .nika-ai-root.is-embedded .nika-ai-input input{height:38px;font-size:13px;}
  .nika-ai-root.is-embedded .nika-ai-send{width:38px;height:38px;}
  .nika-ai-start-chat{padding:12px 10px 8px;}
  .nika-ai-start-chat .nika-ai-intro-row{margin-bottom:8px;}
  .nika-ai-start-chat .nika-ai-bubble{font-size:13.6px;line-height:1.32;padding:10px 12px;}
  .nika-ai-quick-grid-chat{margin-left:36px;gap:7px;}
  .nika-ai-quick-grid-chat .nika-ai-quick{min-height:40px;font-size:13.1px;border-radius:14px;padding:8px 11px;}
}


/* 0.4.7: choice-screen style for online consultant */
.nika-ai-start-choice{
  min-height:100%;
  padding:34px 28px 20px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
.nika-ai-start-choice h2{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(32px,6vw,44px);
  line-height:1.02;
  color:var(--nika-navy);
  margin:0 0 10px;
  letter-spacing:-.035em;
  font-weight:700;
}
.nika-ai-start-choice p{
  margin:0 auto 20px;
  max-width:520px;
  color:#6f7480;
  font-size:16px;
  line-height:1.45;
  font-weight:500;
}
.nika-ai-start-choice .nika-ai-quick-grid-chat{
  margin:0;
  display:grid;
  grid-template-columns:1fr;
  gap:11px;
}
.nika-ai-start-choice .nika-ai-quick-grid-chat .nika-ai-quick{
  min-height:48px;
  padding:11px 16px;
  border-radius:18px;
  text-align:left;
  font-size:15px;
  line-height:1.18;
  font-weight:750;
  letter-spacing:-.01em;
}
.nika-ai-start-main{
  align-self:center;
  margin:20px auto 13px;
  min-width:250px;
  min-height:52px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#0D1B2A,#102d4c);
  color:#fff;
  font-size:16px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(13,27,42,.18);
}
.nika-ai-start-note{
  color:#aaa;
  font-size:12px;
  line-height:1.4;
  max-width:360px;
  margin:0 auto;
}
@media (max-width:520px){
  .nika-ai-start-choice{padding:26px 18px 14px;}
  .nika-ai-start-choice h2{font-size:31px;margin-bottom:8px;}
  .nika-ai-start-choice p{font-size:14.2px;line-height:1.36;margin-bottom:16px;max-width:320px;}
  .nika-ai-start-choice .nika-ai-quick-grid-chat{gap:8px;}
  .nika-ai-start-choice .nika-ai-quick-grid-chat .nika-ai-quick{min-height:44px;font-size:13.5px;border-radius:16px;padding:10px 13px;}
  .nika-ai-start-main{margin:15px auto 10px;min-width:220px;min-height:46px;font-size:14.5px;}
  .nika-ai-start-note{font-size:10.8px;max-width:280px;}
}
@media (max-width:380px){
  .nika-ai-start-choice{padding:22px 14px 12px;}
  .nika-ai-start-choice h2{font-size:28px;}
  .nika-ai-start-choice p{font-size:13.2px;margin-bottom:13px;}
  .nika-ai-start-choice .nika-ai-quick-grid-chat .nika-ai-quick{min-height:40px;font-size:12.4px;padding:9px 12px;}
  .nika-ai-start-main{min-height:43px;font-size:13.8px;}
}
