@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;600&family=DM+Sans:wght@300;400;500&display=swap');
#savant-widget*,#savant-widget *::before,#savant-widget *::after{box-sizing:border-box}
#savant-widget{position:fixed;bottom:28px;right:28px;z-index:9999;font-family:'DM Sans',sans-serif}
#sv-toggle{width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,#2c5f52 0%,#3a8a74 100%);border:none;cursor:pointer;box-shadow:0 6px 24px rgba(44,95,82,.45);display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}
#sv-toggle:hover{transform:scale(1.07);box-shadow:0 8px 30px rgba(44,95,82,.55)}
#sv-notif{position:absolute;top:4px;right:4px;width:12px;height:12px;background:#e8634a;border-radius:50%;border:2px solid #fff;display:none;animation:sv-pulse 2s ease-in-out infinite}
@keyframes sv-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}
#sv-panel{position:absolute;bottom:162px;right:0;width:380px;height:580px;background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.15),0 4px 20px rgba(0,0,0,.08);display:flex;flex-direction:column;overflow:hidden;transform:scale(.85) translateY(20px);transform-origin:bottom right;opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}
#sv-panel.sv-open{transform:scale(1) translateY(0);opacity:1;pointer-events:all}
.sv-hdr{background:linear-gradient(135deg,#2c5f52 0%,#3a8a74 100%);padding:16px 18px 14px;color:#fff;display:flex;align-items:center;gap:12px;flex-shrink:0}
.sv-hdr-av{width:40px;height:40px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}
.sv-hdr-info{flex:1}
.sv-hdr-name{font-family:'Crimson Pro',Georgia,serif;font-size:17px;font-weight:600}
.sv-hdr-sub{font-size:11px;opacity:.75;margin-top:1px;display:flex;align-items:center;gap:5px}
.sv-hdr-dot{width:6px;height:6px;background:#6ee7b7;border-radius:50%;display:inline-block;animation:sv-green 2s ease-in-out infinite}
@keyframes sv-green{0%,100%{opacity:1}50%{opacity:.5}}
.sv-btn-close{background:rgba(255,255,255,.15);border:none;cursor:pointer;color:#fff;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sv-btn-close:hover{background:rgba(255,255,255,.25)}
.sv-chips{padding:9px 13px 7px;display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0;background:#f8f9fa;border-bottom:1px solid #efefef}
.sv-chip{background:#fff;border:1px solid #d4e8e3;color:#2c5f52;font-size:11px;font-weight:500;padding:4px 9px;border-radius:20px;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:'DM Sans',sans-serif}
.sv-chip:hover{background:#2c5f52;color:#fff;border-color:#2c5f52}
.sv-msgs{flex:1;overflow-y:auto;padding:14px 13px 6px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.sv-msgs::-webkit-scrollbar{width:3px}
.sv-msgs::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:2px}
.sv-msg{display:flex;gap:8px;align-items:flex-end;animation:sv-up .3s ease}
@keyframes sv-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.sv-msg.u{flex-direction:row-reverse}
.sv-msg-av{width:26px;height:26px;border-radius:50%;background:#e8f4f0;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.sv-msg.u .sv-msg-av{background:#2c5f52;color:#fff;font-size:10px;font-weight:600}
.sv-bbl{max-width:80%;padding:9px 13px;border-radius:16px;font-size:13px;line-height:1.55;color:#2d2d2d}
.sv-msg.b .sv-bbl{background:#f3f3f3;border-bottom-left-radius:4px}
.sv-msg.u .sv-bbl{background:linear-gradient(135deg,#2c5f52,#3a8a74);color:#fff;border-bottom-right-radius:4px}
.sv-bbl a{color:#2c5f52;font-weight:500}
.sv-msg.u .sv-bbl a{color:#b8f0df}
.sv-typing{display:flex;gap:8px;align-items:flex-end;animation:sv-up .3s ease}
.sv-typing-d{background:#f3f3f3;border-radius:16px;border-bottom-left-radius:4px;padding:11px 14px;display:flex;gap:4px;align-items:center}
.sv-typing-d span{width:6px;height:6px;background:#aaa;border-radius:50%;animation:sv-bounce 1.2s ease-in-out infinite}
.sv-typing-d span:nth-child(2){animation-delay:.2s}
.sv-typing-d span:nth-child(3){animation-delay:.4s}
@keyframes sv-bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
.sv-inp-area{padding:10px 13px 12px;border-top:1px solid #f0f0f0;display:flex;gap:8px;align-items:flex-end;flex-shrink:0}
.sv-inp{flex:1;border:1.5px solid #e0e0e0;border-radius:12px;padding:9px 13px;font-size:13px;font-family:'DM Sans',sans-serif;color:#2d2d2d;background:#fafafa;outline:none;resize:none;max-height:90px;min-height:40px;line-height:1.4;transition:border-color .2s;overflow-y:auto}
.sv-inp:focus{border-color:#3a8a74;background:#fff}
.sv-inp::placeholder{color:#bbb}
.sv-snd{width:40px;height:40px;background:linear-gradient(135deg,#2c5f52,#3a8a74);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 10px rgba(44,95,82,.3);transition:transform .15s}
.sv-snd:hover{transform:scale(1.06)}
.sv-snd:disabled{opacity:.4;cursor:default;transform:none}
.sv-foot{text-align:center;font-size:10px;color:#bbb;padding:0 13px 10px;flex-shrink:0}
.sv-foot a{color:#bbb;text-decoration:none}
@media(max-width:440px){#sv-panel{width:calc(100vw - 32px);right:-14px}}
@media(orientation:portrait){
  #sv-toggle{width:108px!important;height:108px!important}
  #sv-toggle svg,#sv-toggle img{width:120px!important;height:120px!important;max-width:120px!important;max-height:120px!important}
  #savant-widget{bottom:16px;right:16px}
  #sv-panel{bottom:99px}
}
