:root{--haven:#46a35a;--haven-dark:#338247;--haven-deep:#245f34;--text:#202722;--muted:#7d857f;--white:#fff;--soft:#f7f9f7;--border:#e8ece8;--shadow:0 24px 70px rgba(26,57,36,.16),0 8px 24px rgba(26,57,36,.08)}
.haven-ai-root,.haven-ai-root *{box-sizing:border-box}.haven-ai-root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text)}.haven-ai-root button,.haven-ai-root input{font:inherit}
.haven-teaser{position:fixed;right:28px;bottom:112px;display:flex;align-items:center;gap:11px;padding:11px 15px 11px 11px;background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:18px;box-shadow:0 14px 40px rgba(20,50,30,.14);z-index:99987;opacity:0;visibility:hidden;transform:translateY(10px) scale(.96);transition:.3s ease;cursor:pointer}
.haven-teaser.show{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.teaser-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--haven);flex-shrink:0}.teaser-icon svg{width:20px}.teaser-text strong{display:block;margin-bottom:2px;font-size:12px}.teaser-text span{display:block;color:var(--muted);font-size:10px}
.haven-launcher{position:fixed;right:26px;bottom:26px;width:72px;height:72px;padding:0;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#53b766,#3b9950);cursor:pointer;z-index:99999;box-shadow:0 18px 38px rgba(42,128,62,.30),0 5px 14px rgba(42,128,62,.15);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
.haven-launcher::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(70,163,90,.15);transition:.3s ease}.haven-launcher:hover{transform:translateY(-4px) scale(1.025);box-shadow:0 24px 48px rgba(42,128,62,.35),0 7px 17px rgba(42,128,62,.18)}.haven-launcher:hover::before{transform:scale(1.05)}.haven-launcher:active{transform:scale(.94)}
.haven-mark{position:relative;width:44px;height:44px}.haven-mark-bubble{position:absolute;left:3px;top:4px;width:38px;height:33px;background:#fff;border-radius:17px 17px 17px 8px;box-shadow:0 3px 8px rgba(0,0,0,.07)}.haven-mark-bubble::after{content:"";position:absolute;left:5px;bottom:-6px;width:13px;height:11px;background:#fff;clip-path:polygon(0 0,100% 0,0 100%)}
.haven-pulse{position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:3px;transform:translate(-50%,-50%)}.haven-pulse i{display:block;width:4px;border-radius:5px;background:var(--haven)}.haven-pulse i:nth-child(1){height:8px;animation:pulseOne 1.6s infinite ease-in-out}.haven-pulse i:nth-child(2){height:15px;animation:pulseTwo 1.6s infinite ease-in-out}.haven-pulse i:nth-child(3){height:10px;animation:pulseThree 1.6s infinite ease-in-out}
@keyframes pulseOne{0%,100%{height:8px}50%{height:13px}}@keyframes pulseTwo{0%,100%{height:15px}50%{height:8px}}@keyframes pulseThree{0%,100%{height:10px}50%{height:15px}}
.launcher-close{position:absolute;width:22px;height:22px;opacity:0;transform:rotate(-90deg) scale(.6);transition:.25s ease}.launcher-close::before,.launcher-close::after{content:"";position:absolute;left:10px;top:1px;width:2px;height:21px;border-radius:3px;background:#fff}.launcher-close::before{transform:rotate(45deg)}.launcher-close::after{transform:rotate(-45deg)}
.haven-launcher.open .haven-mark{opacity:0;transform:rotate(45deg) scale(.7);transition:.22s ease}.haven-launcher.open .launcher-close{opacity:1;transform:rotate(0) scale(1)}
.haven-widget{position:fixed;right:26px;bottom:112px;width:396px;height:590px;max-width:calc(100vw - 28px);max-height:calc(100vh - 145px);display:flex;flex-direction:column;background:#fff;border:1px solid rgba(0,0,0,.055);border-radius:26px;overflow:hidden;box-shadow:var(--shadow);z-index:99998;opacity:0;visibility:hidden;transform:translateY(20px) scale(.96);transform-origin:bottom right;transition:opacity .25s ease,visibility .25s ease,transform .3s cubic-bezier(.2,.8,.2,1)}.haven-widget.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.widget-header{position:relative;flex-shrink:0;padding:18px 18px 17px;display:flex;align-items:center;gap:12px;background:#fff;border-bottom:1px solid var(--border)}.widget-avatar{width:43px;height:43px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(145deg,#51b666,#378e4a);box-shadow:0 5px 14px rgba(50,130,70,.18)}
.avatar-mark{position:relative;width:26px;height:26px}.avatar-mark::before{content:"";position:absolute;width:23px;height:19px;left:1px;top:2px;border-radius:9px 9px 9px 4px;background:#fff}.avatar-mark::after{content:"";position:absolute;width:8px;height:8px;left:4px;bottom:2px;background:#fff;clip-path:polygon(0 0,100% 0,0 100%)}
.widget-heading{flex:1}.widget-heading h3{margin:0 0 4px;color:#1e2621;font-size:14px;font-weight:700}.widget-status{display:flex;align-items:center;gap:6px;color:#8a918c;font-size:10.5px}.online-dot{width:6px;height:6px;border-radius:50%;background:#62cb72}.widget-menu{width:35px;height:35px;border:0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#79807b;transition:.2s ease}.widget-menu:hover{background:#f3f5f3}.widget-menu svg{width:18px;height:18px}
.widget-menu-popover{position:absolute;right:14px;top:58px;z-index:4;min-width:165px;padding:7px;background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:0 12px 34px rgba(24,50,32,.13)}.widget-menu-popover[hidden]{display:none}.widget-menu-popover button{width:100%;border:0;background:transparent;padding:10px 12px;border-radius:9px;text-align:left;color:var(--haven-dark);font-size:11px;font-weight:700;cursor:pointer}.widget-menu-popover button:hover{background:#f3f7f3}.widget-menu-popover span{display:block;padding:8px 10px;color:#7d857f;font-size:10px;line-height:1.35}
.widget-body{flex:1;overflow-y:auto;padding:18px 17px 20px;background:#f7f9f7;scroll-behavior:smooth}.widget-body::-webkit-scrollbar{width:4px}.widget-body::-webkit-scrollbar-thumb{border-radius:10px;background:rgba(50,90,60,.15)}
.welcome-card{position:relative;overflow:hidden;padding:22px 20px;margin-bottom:18px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#429e56,#2f7f44)}.welcome-card::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-65px;top:-80px;background:rgba(255,255,255,.07)}.welcome-eyebrow{margin-bottom:9px;font-size:9px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;opacity:.72}.welcome-card h2{max-width:270px;margin:0 0 8px;font-size:22px;line-height:1.16;letter-spacing:-.6px}.welcome-card p{max-width:290px;margin:0;color:rgba(255,255,255,.78);font-size:11.5px;line-height:1.6}
.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:20px}.option{min-height:72px;padding:12px;border:1px solid #e3e9e4;border-radius:15px;background:#fff;cursor:pointer;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.option:hover{transform:translateY(-2px);border-color:rgba(70,163,90,.35);box-shadow:0 7px 18px rgba(30,70,40,.06)}.option-icon{width:25px;height:25px;margin-bottom:7px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#edf6ef;color:var(--haven-dark)}.option-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.option strong{display:block;margin-bottom:2px;font-size:11px}.option span{display:block;color:#929894;font-size:9px}
#htAiMessages{display:block}.message-row{display:flex;align-items:flex-end;gap:7px;margin-bottom:11px}.message-row.user{justify-content:flex-end}.bot-dot{width:25px;height:25px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:9px;background:var(--haven);color:#fff;font-size:9px;font-weight:700}.chat-message{max-width:82%;padding:11px 13px;border:1px solid #e5e9e6;border-radius:15px 15px 15px 5px;background:#fff;color:#4e5650;font-size:11.5px;line-height:1.58;white-space:pre-wrap;word-break:break-word}.message-row.user .chat-message{border:0;border-radius:15px 15px 5px 15px;color:#fff;background:linear-gradient(145deg,var(--haven),var(--haven-dark))}.message-row.system{justify-content:center}.message-row.system .chat-message{max-width:92%;padding:5px 8px;border:0;background:transparent;color:#89908b;font-size:10px;text-align:center}.message-row.error .chat-message{background:#fff4f2;color:#8c3024;border-color:#efd1cb}
.typing{display:inline-flex;gap:4px;align-items:center;padding:2px 0}.typing i{width:5px;height:5px;border-radius:50%;background:#7f8b82;animation:typingDot 1s infinite alternate}.typing i:nth-child(2){animation-delay:.16s}.typing i:nth-child(3){animation-delay:.32s}@keyframes typingDot{to{opacity:.25;transform:translateY(-2px)}}
.widget-composer{flex-shrink:0;padding:11px 12px 10px;border-top:1px solid var(--border);background:#fff}.widget-composer form{margin:0}.composer-inner{display:flex;align-items:center;gap:8px;min-height:48px;padding:4px 4px 4px 15px;border:1px solid #e0e5e1;border-radius:25px;background:#f8faf8;transition:.2s ease}.composer-inner:focus-within{border-color:rgba(70,163,90,.45);background:#fff;box-shadow:0 0 0 3px rgba(70,163,90,.06)}.composer-input{flex:1;min-width:0;padding:0;border:0;outline:0;background:transparent;color:#29302b;font-size:11.5px}.composer-input::placeholder{color:#a0a7a2}.send{width:39px;height:39px;flex-shrink:0;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--haven);color:#fff;cursor:pointer;transition:.2s ease}.send:hover{background:var(--haven-dark);transform:scale(1.04)}.send:disabled{opacity:.5;cursor:wait}.send svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.widget-credit{padding-top:7px;text-align:center;color:#afb4b0;font-size:7.5px;letter-spacing:.7px;text-transform:uppercase}
#htAiIntro[hidden]{display:none!important}
@media(max-width:600px){.haven-launcher{width:64px;height:64px;right:17px;bottom:18px}.haven-mark{transform:scale(.88)}.haven-teaser{right:17px;bottom:94px}.haven-widget{width:calc(100vw - 20px);height:min(610px,calc(100vh - 110px));max-width:none;max-height:none;right:10px;bottom:91px;border-radius:22px}}
@media(prefers-reduced-motion:reduce){.haven-ai-root *,.haven-ai-root *::before,.haven-ai-root *::after{animation:none!important;transition:none!important}}
.haven-ai-root,.haven-ai-root *{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important}.haven-ai-root *{line-height:normal}.haven-ai-root .widget-heading h3{color:#1e2621!important;font-size:14px!important;line-height:normal!important}.haven-ai-root .widget-status{font-size:10.5px!important;line-height:normal!important}.haven-ai-root .welcome-eyebrow{color:#fff!important;font-size:9px!important;line-height:normal!important}.haven-ai-root .welcome-card h2{color:#fff!important;font-size:22px!important;line-height:1.16!important}.haven-ai-root .welcome-card p{color:rgba(255,255,255,.78)!important;font-size:11.5px!important;line-height:1.6!important}.haven-ai-root .option strong{color:#202722!important;font-size:11px!important;line-height:normal!important}.haven-ai-root .option span{font-size:9px!important;line-height:normal!important}.haven-ai-root .chat-message{font-size:11.5px!important;line-height:1.58!important}.haven-ai-root .composer-input{font-size:11.5px!important;line-height:normal!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}.haven-ai-root .composer-input:focus{border:0!important;outline:0!important;box-shadow:none!important}.haven-ai-root .widget-credit{font-size:7.5px!important;line-height:normal!important}
