/* UTO Sanal Asistan — Widget stilleri (bağımsız, yüksek kalite) */
.uto-root{
  --uto-accent:#4f46e5;
  --uto-accent-2:#7c3aed;
  --uto-ink:#0f172a;
  --uto-muted:#64748b;
  --uto-bg:#f8fafc;
  --uto-line:#e6e8ef;
  position:fixed;z-index:2147483000;bottom:22px;right:22px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:14px;
}
.uto-root *{box-sizing:border-box;}

/* Launcher */
.uto-fab{
  position:relative;width:62px;height:62px;border:none;border-radius:50%;cursor:pointer;
  background:linear-gradient(135deg,var(--uto-accent),var(--uto-accent-2));color:#fff;
  box-shadow:0 12px 28px rgba(79,70,229,.38);display:flex;align-items:center;justify-content:center;
  transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease;
}
.uto-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 18px 38px rgba(79,70,229,.5);}
.uto-fab:active{transform:scale(.96);}
.uto-fab-ico,.uto-fab-close{position:absolute;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s ease;}
.uto-fab-ico{opacity:1;transform:scale(1) rotate(0);}
.uto-fab-ico svg{width:29px;height:29px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));}
.uto-fab-close{opacity:0;transform:rotate(-90deg) scale(.5);}
.uto-fab-close svg{width:24px;height:24px;}
.uto-open .uto-fab-ico{opacity:0;transform:scale(.5) rotate(90deg);}
.uto-open .uto-fab-close{opacity:1;transform:rotate(0) scale(1);}
.uto-open .uto-fab{box-shadow:0 12px 26px rgba(15,23,42,.28);}
/* iç parıltı */
.uto-fab::before{content:"";position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(120% 120% at 30% 20%,rgba(255,255,255,.35),transparent 55%);pointer-events:none;}
/* dikkat çeken nabız halkası */
.uto-fab::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(79,70,229,.45);animation:uto-ring 2.6s cubic-bezier(.66,0,0,1) infinite;}
.uto-open .uto-fab::after{display:none;}
@keyframes uto-ring{0%{box-shadow:0 0 0 0 rgba(79,70,229,.45);}70%{box-shadow:0 0 0 16px rgba(79,70,229,0);}100%{box-shadow:0 0 0 0 rgba(79,70,229,0);}}

/* Karşılama balonu (nudge) */
.uto-nudge{position:absolute;bottom:12px;right:78px;max-width:230px;display:flex;align-items:center;gap:8px;
  background:#fff;color:var(--uto-ink);border:1px solid var(--uto-line);border-radius:16px;border-bottom-right-radius:6px;
  padding:11px 12px 11px 14px;box-shadow:0 14px 34px rgba(15,23,42,.18);
  opacity:0;transform:translateX(10px) scale(.9);transform-origin:bottom right;pointer-events:none;
  transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.4,.64,1);}
.uto-nudge-on .uto-nudge{opacity:1;transform:translateX(0) scale(1);pointer-events:auto;}
.uto-open .uto-nudge{opacity:0 !important;pointer-events:none !important;}
.uto-nudge-txt{font-size:13.5px;font-weight:600;line-height:1.35;cursor:pointer;}
.uto-nudge-x{flex-shrink:0;width:20px;height:20px;border:none;background:#f1f5f9;color:#94a3b8;border-radius:50%;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s,color .15s;}
.uto-nudge-x:hover{background:#e2e8f0;color:#475569;}
.uto-nudge-x svg{width:11px;height:11px;}

/* Panel */
.uto-panel{
  position:absolute;bottom:78px;right:0;width:380px;max-width:calc(100vw - 32px);
  height:600px;max-height:calc(100vh - 130px);background:#fff;border-radius:22px;
  box-shadow:0 30px 70px rgba(15,23,42,.30);display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:translateY(16px) scale(.97);transform-origin:bottom right;pointer-events:none;
  transition:opacity .22s ease,transform .22s cubic-bezier(.34,1.4,.64,1);
  border:1px solid rgba(15,23,42,.06);
}
.uto-open .uto-panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}

/* Header */
.uto-head{display:flex;align-items:center;gap:12px;padding:16px 18px;color:#fff;
  background:linear-gradient(135deg,var(--uto-accent),var(--uto-accent-2));position:relative;}
.uto-head-ava{position:relative;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;
  box-shadow:0 0 0 3px rgba(255,255,255,.14);}
.uto-head-ava::after{content:"";position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;
  background:#34d399;border:2px solid #fff;}
.uto-head-txt{flex:1;min-width:0;}
.uto-head-title{font-weight:700;font-size:15.5px;line-height:1.2;}
.uto-head-sub{font-size:12px;opacity:.9;display:flex;align-items:center;gap:5px;margin-top:2px;}
.uto-head-sub b{width:6px;height:6px;border-radius:50%;background:#a7f3d0;display:inline-block;}
.uto-close{background:rgba(255,255,255,.12);border:none;color:#fff;width:30px;height:30px;border-radius:9px;
  font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.uto-close:hover{background:rgba(255,255,255,.24);}

/* Messages */
.uto-msgs{flex:1;overflow-y:auto;padding:18px 16px;background:var(--uto-bg);display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;}
.uto-msgs::-webkit-scrollbar{width:8px;}
.uto-msgs::-webkit-scrollbar-thumb{background:#d5d9e3;border-radius:99px;border:2px solid var(--uto-bg);}
.uto-msgs::-webkit-scrollbar-thumb:hover{background:#c2c7d4;}

.uto-msg{display:flex;align-items:flex-end;gap:8px;animation:uto-in .28s cubic-bezier(.22,1,.36,1);}
@keyframes uto-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.uto-msg.uto-kullanici{justify-content:flex-end;}
.uto-ava{width:28px;height:28px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--uto-accent),var(--uto-accent-2));color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-bottom:2px;}
.uto-kullanici .uto-ava{display:none;}
.uto-bubble{max-width:82%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.5;
  word-wrap:break-word;overflow-wrap:anywhere;box-shadow:0 1px 2px rgba(15,23,42,.06);}
.uto-asistan .uto-bubble{background:#fff;color:var(--uto-ink);border:1px solid var(--uto-line);border-bottom-left-radius:5px;}
.uto-kullanici .uto-bubble{background:linear-gradient(135deg,var(--uto-accent),var(--uto-accent-2));color:#fff;border-bottom-right-radius:5px;}
/* bubble içi markdown */
.uto-bubble p{margin:0 0 8px;}
.uto-bubble p:last-child{margin-bottom:0;}
.uto-bubble strong{font-weight:700;}
.uto-bubble em{font-style:italic;}
.uto-bubble a{color:var(--uto-accent);text-decoration:underline;}
.uto-kullanici .uto-bubble a{color:#fff;}
.uto-bubble code{background:rgba(15,23,42,.06);padding:1px 5px;border-radius:5px;font-size:12.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
.uto-bubble ul{margin:6px 0 0;padding-left:18px;}
.uto-bubble li{margin:2px 0;}

/* Typing */
.uto-typing .uto-bubble{display:flex;gap:5px;align-items:center;padding:14px;}
.uto-typing .uto-bubble span{width:7px;height:7px;border-radius:50%;background:#c3c9d6;display:inline-block;animation:uto-bounce 1.1s infinite;}
.uto-typing .uto-bubble span:nth-child(2){animation-delay:.15s;}
.uto-typing .uto-bubble span:nth-child(3){animation-delay:.3s;}
@keyframes uto-bounce{0%,60%,100%{transform:translateY(0);opacity:.5;}30%{transform:translateY(-6px);opacity:1;}}

/* Quick replies */
.uto-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 16px 12px;background:var(--uto-bg);}
.uto-chip{border:1px solid var(--uto-line);background:#fff;color:var(--uto-accent);border-radius:999px;
  padding:7px 13px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;}
.uto-chip:hover{background:var(--uto-accent);color:#fff;border-color:var(--uto-accent);transform:translateY(-1px);}

/* Composer */
.uto-form{display:flex;gap:9px;padding:12px;border-top:1px solid var(--uto-line);background:#fff;align-items:flex-end;}
.uto-input{flex:1;border:1px solid var(--uto-line);border-radius:16px;padding:11px 14px;font-size:14px;
  outline:none;resize:none;max-height:110px;line-height:1.4;font-family:inherit;color:var(--uto-ink);transition:border-color .15s,box-shadow .15s;}
.uto-input::placeholder{color:#9aa3b2;}
.uto-input:focus{border-color:var(--uto-accent);box-shadow:0 0 0 3px rgba(79,70,229,.12);}
.uto-send{width:42px;height:42px;border:none;border-radius:14px;cursor:pointer;flex-shrink:0;
  background:linear-gradient(135deg,var(--uto-accent),var(--uto-accent-2));color:#fff;
  display:flex;align-items:center;justify-content:center;transition:transform .15s,opacity .15s;}
.uto-send:hover{transform:translateY(-1px);}
.uto-send:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.uto-send svg{width:18px;height:18px;}

/* Footer note */
.uto-foot{padding:0 12px 10px;background:#fff;text-align:center;}
.uto-foot span,.uto-foot a{font-size:11px;color:#aab1bf;text-decoration:none;transition:color .15s;}
.uto-foot a:hover{color:var(--uto-accent);}
.uto-foot a:hover b{color:var(--uto-accent);}
.uto-foot b{color:var(--uto-muted);font-weight:600;}

@media (max-width:480px){
  .uto-root{bottom:16px;right:16px;}
  .uto-panel{width:calc(100vw - 24px);height:calc(100vh - 100px);bottom:80px;}
}
