:root {
  --nyunga-ai-ink: #102c26;
  --nyunga-ai-muted: #5b6e68;
  --nyunga-ai-brand: #0b7a5b;
  --nyunga-ai-brand-dark: #075b45;
  --nyunga-ai-glow: #78d5b8;
  --nyunga-ai-surface: #ffffff;
  --nyunga-ai-soft: #edf8f4;
}

.nyunga-iga,
.nyunga-iga * { box-sizing: border-box; }

.nyunga-iga {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 999970;
  color: var(--nyunga-ai-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.nyunga-iga__launcher {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 7px 17px 7px 7px;
  border: 1px solid rgba(255,255,255,.52);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--nyunga-ai-brand), var(--nyunga-ai-brand-dark));
  box-shadow: 0 15px 40px rgba(2, 54, 41, .28);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  letter-spacing: -.01em;
}

.nyunga-iga__launcher:hover,
.nyunga-iga__launcher:focus-visible { transform: translateY(-2px); box-shadow: 0 18px 46px rgba(2, 54, 41, .36); }
.nyunga-iga__launcher:focus-visible,
.nyunga-iga button:focus-visible,
.nyunga-iga a:focus-visible,
.nyunga-iga input:focus-visible,
.nyunga-iga textarea:focus-visible,
.nyunga-iga select:focus-visible { outline: 3px solid rgba(120, 213, 184, .65); outline-offset: 2px; }
.nyunga-iga__launcher-mark,
.nyunga-iga__avatar {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--nyunga-ai-brand-dark);
  background: #fff;
  font: 900 19px/1 Georgia, serif;
  box-shadow: inset 0 0 0 1px rgba(11,122,91,.12);
}
.nyunga-iga__pulse { position:absolute; inset: 3px auto auto 3px; width: 48px; height: 48px; border: 2px solid var(--nyunga-ai-glow); border-radius: 50%; animation: nyunga-ai-pulse 2.4s ease-out infinite; pointer-events:none; }

.nyunga-iga__panel {
  position: absolute;
  right: 0;
  bottom: 68px;
  display: grid;
  grid-template-rows: auto minmax(160px, 1fr) auto auto auto auto;
  width: min(410px, calc(100vw - 28px));
  height: min(690px, calc(100vh - 105px));
  overflow: hidden;
  border: 1px solid rgba(11, 122, 91, .18);
  border-radius: 24px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 30px 90px rgba(10, 38, 31, .25);
  animation: nyunga-ai-in .2s ease-out;
}

.nyunga-iga__header { display:flex; justify-content:space-between; align-items:center; padding:15px 16px; color:#fff; background:linear-gradient(135deg, #075b45, #0b7a5b); }
.nyunga-iga__identity { display:flex; gap:11px; align-items:center; }
.nyunga-iga__identity strong { display:block; font-size:15px; line-height:1.2; }
.nyunga-iga__identity small { display:flex; align-items:center; gap:6px; margin-top:4px; color:rgba(255,255,255,.8); font-size:11px; }
.nyunga-iga__identity small span { width:7px; height:7px; border-radius:50%; background:#aef1cf; box-shadow:0 0 0 3px rgba(174,241,207,.15); }
.nyunga-iga__avatar { width:42px; height:42px; }
.nyunga-iga__close { width:36px; height:36px; padding:0; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.12); cursor:pointer; font:300 28px/1 system-ui; }
.nyunga-iga__close:hover { background:rgba(255,255,255,.22); }

.nyunga-iga__messages { min-height:0; padding:18px 14px 10px; overflow-y:auto; overscroll-behavior:contain; background:radial-gradient(circle at 100% 0, rgba(120,213,184,.15), transparent 38%), #f8fbfa; }
.nyunga-iga__message { display:flex; margin-bottom:12px; }
.nyunga-iga__message--user { justify-content:flex-end; }
.nyunga-iga__bubble { max-width:88%; padding:11px 13px; border:1px solid rgba(16,44,38,.08); border-radius:16px 16px 16px 5px; background:#fff; box-shadow:0 4px 12px rgba(16,44,38,.05); font-size:13.5px; line-height:1.55; white-space:pre-line; }
.nyunga-iga__message--user .nyunga-iga__bubble { color:#fff; border-color:transparent; border-radius:16px 16px 5px 16px; background:var(--nyunga-ai-brand); }
.nyunga-iga__actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.nyunga-iga__actions a { display:inline-flex; align-items:center; min-height:32px; padding:6px 10px; border-radius:9px; color:#fff; background:var(--nyunga-ai-brand); font-size:12px; font-weight:750; text-decoration:none; }
.nyunga-iga__suggestions { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.nyunga-iga__suggestions button { padding:5px 8px; border:1px solid rgba(11,122,91,.25); border-radius:999px; color:var(--nyunga-ai-brand-dark); background:var(--nyunga-ai-soft); cursor:pointer; font:600 11px/1.3 inherit; }

.nyunga-iga__typing { display:flex; gap:4px; align-items:center; min-height:39px; }
.nyunga-iga__typing i { width:6px; height:6px; border-radius:50%; background:var(--nyunga-ai-brand); animation:nyunga-ai-dot 1.2s infinite ease-in-out; }
.nyunga-iga__typing i:nth-child(2) { animation-delay:.15s; }
.nyunga-iga__typing i:nth-child(3) { animation-delay:.3s; }

.nyunga-iga__quick { display:flex; gap:7px; padding:9px 12px; overflow-x:auto; border-top:1px solid rgba(16,44,38,.07); background:#fff; }
.nyunga-iga__quick button { flex:0 0 auto; padding:7px 10px; border:1px solid rgba(11,122,91,.18); border-radius:999px; color:var(--nyunga-ai-brand-dark); background:var(--nyunga-ai-soft); cursor:pointer; font:650 11px/1.25 inherit; }
.nyunga-iga__form { display:grid; grid-template-columns:1fr 42px; gap:8px; align-items:end; padding:10px 12px 12px; background:#fff; }
.nyunga-iga__form textarea { width:100%; max-height:110px; min-height:42px; resize:none; padding:10px 12px; border:1px solid #cbd9d4; border-radius:13px; color:var(--nyunga-ai-ink); background:#fff; font:13px/1.4 inherit; }
.nyunga-iga__form button { display:grid; place-items:center; width:42px; height:42px; padding:0; border:0; border-radius:12px; color:#fff; background:var(--nyunga-ai-brand); cursor:pointer; font-size:20px; }
.nyunga-iga__form button:disabled { opacity:.5; cursor:wait; }

.nyunga-iga__lead { max-height:230px; overflow:auto; border-top:1px solid rgba(16,44,38,.08); background:#f8fbfa; }
.nyunga-iga__lead summary { padding:10px 13px; color:var(--nyunga-ai-brand-dark); cursor:pointer; font-size:12px; font-weight:750; }
.nyunga-iga__lead-form { padding:2px 13px 13px; }
.nyunga-iga__lead-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.nyunga-iga__lead label { display:grid; gap:4px; color:var(--nyunga-ai-muted); font-size:10px; font-weight:700; }
.nyunga-iga__lead input,
.nyunga-iga__lead select,
.nyunga-iga__lead textarea { min-width:0; width:100%; padding:8px; border:1px solid #cbd9d4; border-radius:8px; color:var(--nyunga-ai-ink); background:#fff; font:12px/1.3 inherit; }
.nyunga-iga__lead .nyunga-iga__wide { grid-column:1/-1; }
.nyunga-iga__lead .nyunga-iga__consent { display:flex; grid-template-columns:16px 1fr; align-items:flex-start; margin:9px 0; font-weight:500; line-height:1.35; }
.nyunga-iga__lead .nyunga-iga__consent input { width:15px; }
.nyunga-iga__lead-form > button { padding:8px 11px; border:0; border-radius:8px; color:#fff; background:var(--nyunga-ai-brand); cursor:pointer; font:700 12px/1.2 inherit; }
.nyunga-iga__lead-status { margin:7px 0 0; color:var(--nyunga-ai-brand-dark); font-size:11px; line-height:1.35; }
.nyunga-iga__trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; }
.nyunga-iga__footer { padding:7px 12px 9px; color:#71827d; background:#fff; font-size:9.5px; line-height:1.35; text-align:center; }

@keyframes nyunga-ai-pulse { 0% { transform:scale(.8); opacity:.8; } 75%,100% { transform:scale(1.45); opacity:0; } }
@keyframes nyunga-ai-in { from { transform:translateY(10px) scale(.98); opacity:0; } to { transform:none; opacity:1; } }
@keyframes nyunga-ai-dot { 0%,60%,100% { transform:translateY(0); opacity:.35; } 30% { transform:translateY(-4px); opacity:1; } }

@media (max-width: 520px) {
  .nyunga-iga { right:12px; bottom:max(12px, env(safe-area-inset-bottom)); left:12px; }
  .nyunga-iga__launcher { margin-left:auto; }
  .nyunga-iga__panel { position:fixed; inset:10px 10px max(10px, env(safe-area-inset-bottom)); width:auto; height:auto; max-height:none; border-radius:20px; }
  .nyunga-iga.is-open .nyunga-iga__launcher { visibility:hidden; }
}

@media (prefers-reduced-motion: reduce) {
  .nyunga-iga *, .nyunga-iga *::before, .nyunga-iga *::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
