/* EPC Certs Assistant widget, Emerald Lime edition */
#epc-asst-root{--ea-forest:#07231a;--ea-forest-2:#0b2e22;--ea-em:#0e7a4a;--ea-em-deep:#0a5c38;--ea-lime:#a3e635;--ea-lime-deep:#65a30d;--ea-lime-tint:#f1fbdd;--ea-ink:#0b1f17;--ea-body:#33453c;--ea-muted:#5e7268;--ea-line:#e2ece5;--ea-line-2:#cfe0d4;--ea-surface:#f3f8f4;--ea-on-forest:#bfd9cb;font-family:'Manrope',system-ui,sans-serif;font-size:14.5px;line-height:1.55;color:var(--ea-ink)}
#epc-asst-root *{box-sizing:border-box}
#epc-asst-root .ea-dot{width:9px;height:9px;border-radius:50%;background:var(--ea-lime);border:2px solid #fff;position:absolute;right:-1px;bottom:-1px;box-shadow:0 0 8px rgba(163,230,53,.8)}

/* ---------- Launcher pill ---------- */
.ea-launch{position:fixed;right:20px;bottom:20px;z-index:9990;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.ea-launch__row{position:relative}
.ea-launch__btn{display:flex;align-items:center;gap:11px;padding:9px 18px 9px 10px;border:1px solid rgba(191,217,203,.25);border-radius:999px;cursor:pointer;background:linear-gradient(135deg,var(--ea-forest-2),var(--ea-forest));color:#fff;box-shadow:0 18px 40px -14px rgba(6,35,26,.65);transition:transform .2s,box-shadow .2s;position:relative}
.ea-launch__btn:hover{transform:translateY(-2px);box-shadow:0 24px 48px -16px rgba(6,35,26,.75)}
.ea-launch__av{position:relative;width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.ea-launch__av img{width:28px;height:28px;object-fit:contain}
.ea-launch__av b{font-family:'Space Grotesk',system-ui,sans-serif;color:var(--ea-em);font-size:12px}
.ea-launch__txt{text-align:left;line-height:1.2}
.ea-launch__txt b{display:block;font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-size:14.5px;letter-spacing:0}
.ea-launch__txt small{display:block;font-size:11.5px;color:var(--ea-on-forest);font-weight:600;margin-top:2px}
.ea-launch__txt small::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ea-lime);margin-right:5px;vertical-align:1px;animation:eaBlink 2s infinite}
.ea-launch__chev{width:30px;height:30px;border-radius:50%;background:var(--ea-lime);display:flex;align-items:center;justify-content:center;flex:none;margin-left:2px}
.ea-launch__chev svg{width:16px;height:16px;fill:none;stroke:var(--ea-ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* teaser bubble */
.ea-teaser{position:relative;display:flex;align-items:flex-start;gap:10px;max-width:270px;background:#fff;border:1px solid var(--ea-line);border-radius:18px 18px 5px 18px;box-shadow:0 20px 44px -18px rgba(6,61,38,.4);padding:13px 34px 13px 12px;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.ea-teaser.is-in{opacity:1;transform:none}
.ea-teaser[hidden]{display:none}
.ea-teaser__av{width:34px;height:34px;border-radius:50%;background:var(--ea-surface);display:flex;align-items:center;justify-content:center;flex:none}
.ea-teaser__av img{width:22px;height:22px;object-fit:contain}
.ea-teaser__av b{font-family:'Space Grotesk',system-ui,sans-serif;color:var(--ea-em);font-size:10px}
.ea-teaser__t{font-size:12.5px;color:var(--ea-body);line-height:1.45;font-weight:500}
.ea-teaser__t b{display:block;font-weight:800;color:var(--ea-ink);font-size:13px;margin-bottom:1px}
.ea-teaser__x{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;border:none;background:var(--ea-surface);color:var(--ea-muted);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ea-teaser__x:hover{background:var(--ea-line)}

/* satellites (quick contact fan) */
.ea-sats{position:absolute;right:0;bottom:0;width:100%;height:100%;pointer-events:none}
.ea-sat{position:absolute;right:18px;bottom:10px;width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid var(--ea-line);box-shadow:0 10px 22px -8px rgba(6,35,26,.45);display:flex;align-items:center;justify-content:center;color:var(--ea-em-deep);opacity:0;transform:translate(0,0) scale(.6);transition:transform .35s cubic-bezier(.2,.8,.3,1),opacity .3s;pointer-events:auto;text-decoration:none}
.ea-sat svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ea-sat--wa{color:#128c7e}
.ea-launch.is-hover .ea-sat,.ea-launch.is-sats .ea-sat{opacity:1}
.ea-launch.is-hover .ea-sat:nth-child(1),.ea-launch.is-sats .ea-sat:nth-child(1){transform:translate(6px,-58px) scale(1)}
.ea-launch.is-hover .ea-sat:nth-child(2),.ea-launch.is-sats .ea-sat:nth-child(2){transform:translate(-42px,-58px) scale(1);transition-delay:.05s}
.ea-launch.is-hover .ea-sat:nth-child(3),.ea-launch.is-sats .ea-sat:nth-child(3){transform:translate(-90px,-58px) scale(1);transition-delay:.1s}
.ea-launch.is-hover .ea-sat:nth-child(4),.ea-launch.is-sats .ea-sat:nth-child(4){transform:translate(-138px,-58px) scale(1);transition-delay:.15s}
.ea-launch.is-hover .ea-teaser,.ea-launch.is-sats .ea-teaser{opacity:0;pointer-events:none}
.ea-sat[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);background:var(--ea-forest);color:#fff;font-size:11px;font-weight:700;padding:4px 9px;border-radius:7px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.ea-sat:hover::after{opacity:1}

/* ---------- Panel ---------- */
.ea-panel{position:fixed;right:20px;bottom:20px;z-index:9991;width:min(400px,calc(100vw - 24px));height:min(660px,calc(100vh - 40px));background:#fff;border-radius:24px;box-shadow:0 44px 96px -30px rgba(4,20,13,.55),0 0 0 1px rgba(6,61,38,.07);display:flex;flex-direction:column;overflow:hidden;transform:translateY(24px) scale(.96);transform-origin:bottom right;opacity:0;visibility:hidden;transition:transform .32s cubic-bezier(.2,.8,.3,1),opacity .28s,visibility .32s}
.ea-panel.is-open{transform:none;opacity:1;visibility:visible}

/* header */
.ea-head{background:radial-gradient(460px 200px at 88% -30%,var(--ea-em) 0%,var(--ea-forest-2) 55%,var(--ea-forest) 100%);color:#fff;padding:16px 16px 15px;display:flex;align-items:center;gap:12px;position:relative;overflow:hidden}
.ea-head__bands{position:absolute;left:0;right:0;bottom:0;display:flex;height:3px}
.ea-head__bands i{flex:1}
.ea-head__bands i:nth-child(1){background:#1e9e4a}.ea-head__bands i:nth-child(2){background:#4fb14e}.ea-head__bands i:nth-child(3){background:#a0c73d}.ea-head__bands i:nth-child(4){background:#f6c915}.ea-head__bands i:nth-child(5){background:#f39a1a}.ea-head__bands i:nth-child(6){background:#ef7822}.ea-head__bands i:nth-child(7){background:#e6362c}
.ea-head__av{width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;flex:none;position:relative}
.ea-head__av img{width:30px;height:30px;object-fit:contain}
.ea-head__av b{font-family:'Space Grotesk',system-ui,sans-serif;color:var(--ea-em);font-size:13px}
.ea-head__av .ea-dot{border-color:var(--ea-forest)}
.ea-head__t{flex:1;min-width:0}
.ea-head__t b{display:block;font-family:'Space Grotesk',system-ui,sans-serif;font-size:16px;font-weight:600;letter-spacing:.01em}
.ea-head__t span{display:block;font-size:11.5px;color:var(--ea-on-forest);font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ea-head__x{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;font-size:19px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex:none}
.ea-head__x:hover{background:rgba(255,255,255,.26)}

/* quick actions */
.ea-chan{display:flex;gap:6px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--ea-line)}
.ea-chan a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border-radius:12px;background:var(--ea-surface);border:1px solid transparent;font-size:11px;font-weight:800;color:var(--ea-em-deep);text-decoration:none;transition:border-color .2s,background .2s,transform .2s}
.ea-chan a:hover{background:var(--ea-lime-tint);border-color:rgba(101,163,13,.35);transform:translateY(-1px)}
.ea-chan svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* messages */
.ea-msgs{flex:1;overflow-y:auto;padding:16px 14px 10px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#fbfdfb,var(--ea-surface));scroll-behavior:smooth}
.ea-msgs::-webkit-scrollbar{width:5px}
.ea-msgs::-webkit-scrollbar-thumb{background:var(--ea-line-2);border-radius:3px}
.ea-hello{background:#fff;border:1px solid var(--ea-line);border-radius:18px;padding:16px;text-align:center;box-shadow:0 14px 30px -22px rgba(6,61,38,.35);animation:eaIn .4s both}
.ea-hello__ladder{position:relative;display:flex;gap:3px;justify-content:center;margin:2px auto 12px;max-width:210px}
.ea-hello__ladder i{flex:1;height:22px;border-radius:5px;font-style:normal;font-size:10.5px;font-weight:800;color:#fff;display:flex;align-items:center;justify-content:center;transform-origin:bottom;animation:eaRise .45s both}
.ea-hello__ladder i:nth-child(1){background:#1e9e4a;animation-delay:.05s}.ea-hello__ladder i:nth-child(2){background:#4fb14e;animation-delay:.1s}.ea-hello__ladder i:nth-child(3){background:#a0c73d;color:#243318;animation-delay:.15s}.ea-hello__ladder i:nth-child(4){background:#f6c915;color:#243318;animation-delay:.2s}.ea-hello__ladder i:nth-child(5){background:#f39a1a;animation-delay:.25s}.ea-hello__ladder i:nth-child(6){background:#ef7822;animation-delay:.3s}.ea-hello__ladder i:nth-child(7){background:#e6362c;animation-delay:.35s}
.ea-hello__mark{position:absolute;top:-9px;left:8%;width:20px;height:20px;border-radius:50%;background:var(--ea-lime);color:var(--ea-ink);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(101,163,13,.5);animation:eaPop .4s .55s both}
.ea-hello b{display:block;font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-size:15px;color:var(--ea-ink)}
.ea-hello span{display:block;font-size:12.5px;color:var(--ea-muted);font-weight:500;margin-top:3px}
.ea-row{display:flex;align-items:flex-end;gap:8px;animation:eaIn .3s both}
.ea-row--follow .ea-av{visibility:hidden}
.ea-av{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--ea-line);display:flex;align-items:center;justify-content:center;flex:none;margin-bottom:2px}
.ea-av img{width:16px;height:16px;object-fit:contain}
.ea-av b{font-family:'Space Grotesk',system-ui,sans-serif;color:var(--ea-em);font-size:8px}
.ea-msg{max-width:86%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.55;word-wrap:break-word}
.ea-msg--bot{background:#fff;border:1px solid var(--ea-line);color:var(--ea-ink);border-bottom-left-radius:5px;box-shadow:0 10px 24px -20px rgba(6,61,38,.4)}
.ea-msg--user{align-self:flex-end;background:linear-gradient(135deg,var(--ea-em),var(--ea-em-deep));color:#fff;border-bottom-right-radius:5px;animation:eaIn .3s both;box-shadow:0 12px 26px -16px rgba(14,122,74,.55)}
.ea-msg p{margin:0}
.ea-msg p+p,.ea-msg ul,.ea-msg .ea-tw{margin-top:8px}
.ea-msg ul{padding-left:18px;margin-bottom:0}
.ea-msg li+li{margin-top:3px}
.ea-msg li::marker{color:var(--ea-em)}
.ea-msg hr{border:none;border-top:1px solid var(--ea-line);margin:10px 0}
.ea-msg a{color:var(--ea-em-deep);font-weight:700;text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(14,122,74,.4)}
.ea-msg--user a{color:#d3f58e}
.ea-tw{overflow-x:auto;border:1px solid var(--ea-line);border-radius:12px}
.ea-msg table{width:100%;border-collapse:collapse;font-size:12.5px;background:#fff}
.ea-msg th,.ea-msg td{padding:7px 9px;border-bottom:1px solid var(--ea-line);text-align:left;vertical-align:top;white-space:nowrap}
.ea-msg th{background:var(--ea-surface);color:var(--ea-ink);font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
.ea-msg tr:last-child td{border-bottom:none}
.ea-msg tr:nth-child(even) td{background:#f9fcf9}
.ea-msg .ea-band{display:inline-block;min-width:22px;padding:1px 6px;border-radius:6px;color:#fff;font-weight:800;text-align:center;font-size:12px}
.ea-typing{display:flex;gap:4px;padding:13px 15px;background:#fff;border:1px solid var(--ea-line);border-radius:16px;border-bottom-left-radius:5px}
.ea-typing i{width:7px;height:7px;border-radius:50%;background:var(--ea-em);opacity:.5;animation:eaDot 1.2s infinite}
.ea-typing i:nth-child(2){animation-delay:.2s}.ea-typing i:nth-child(3){animation-delay:.4s}

/* quick replies */
.ea-chips{display:flex;gap:8px;padding:10px 14px 4px;overflow-x:auto;scrollbar-width:none;background:transparent}
.ea-chips::-webkit-scrollbar{display:none}
.ea-chips:empty{padding:0}
.ea-chip{flex:none;border:1.5px solid rgba(101,163,13,.5);background:#fff;color:var(--ea-em-deep);font:inherit;font-size:12.5px;font-weight:800;padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-decoration:none;white-space:nowrap}
.ea-chip:hover{background:var(--ea-lime);border-color:var(--ea-lime);color:var(--ea-ink)}
.ea-chip--navy{border-color:var(--ea-em);color:var(--ea-em-deep)}
.ea-chip--navy:hover{background:var(--ea-em);border-color:var(--ea-em);color:#fff}

/* input */
.ea-in{display:flex;align-items:center;gap:8px;margin:8px 14px 6px;padding:5px 5px 5px 16px;border:1.5px solid var(--ea-line-2);border-radius:999px;background:#fff;transition:border-color .2s,box-shadow .2s}
.ea-in:focus-within{border-color:var(--ea-lime-deep);box-shadow:0 0 0 4px rgba(163,230,53,.28)}
.ea-in input[name=m]{flex:1;border:none;background:none;font:inherit;font-size:14px;color:var(--ea-ink);outline:none;min-width:0;padding:9px 0}
.ea-in input::placeholder{color:#93a69b}
.ea-in button{width:42px;height:42px;border-radius:50%;border:none;background:var(--ea-lime);color:var(--ea-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 10px 22px -10px rgba(101,163,13,.6);transition:transform .2s,background .2s}
.ea-in button:hover{transform:scale(1.06);background:#b7f24a}
.ea-in button[disabled]{opacity:.55;cursor:default;transform:none}
.ea-in button svg{width:19px;height:19px;fill:none;stroke:var(--ea-ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ea-foot{font-size:10px;color:var(--ea-muted);text-align:center;padding:0 16px 10px;background:transparent;font-weight:500}
.ea-hp{position:absolute;left:-9999px}

/* ---------- Motion ---------- */
@keyframes eaPop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
@keyframes eaIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes eaRise{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes eaDot{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}
@keyframes eaBlink{0%,100%{opacity:1}50%{opacity:.4}}

/* ---------- Mobile ---------- */
@media (max-width:900px){
  .ea-launch{right:14px;bottom:84px}
  .ea-launch__txt{display:none}
  .ea-launch__btn{padding:9px;border-radius:50%}
  .ea-launch__chev{display:none}
  .ea-launch__av{width:44px;height:44px}
  .ea-teaser{max-width:240px}
  .ea-launch.is-hover .ea-sat:nth-child(1),.ea-launch.is-sats .ea-sat:nth-child(1){transform:translate(8px,-56px) scale(1)}
  .ea-launch.is-hover .ea-sat:nth-child(2),.ea-launch.is-sats .ea-sat:nth-child(2){transform:translate(-36px,-56px) scale(1)}
  .ea-launch.is-hover .ea-sat:nth-child(3),.ea-launch.is-sats .ea-sat:nth-child(3){transform:translate(-80px,-56px) scale(1)}
  .ea-launch.is-hover .ea-sat:nth-child(4),.ea-launch.is-sats .ea-sat:nth-child(4){transform:translate(-124px,-56px) scale(1)}
  .ea-panel{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0}
  .ea-head{padding-top:calc(16px + env(safe-area-inset-top,0px))}
  .ea-in{margin-bottom:calc(6px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){
  .ea-teaser,.ea-row,.ea-msg--user,.ea-hello,.ea-hello__ladder i,.ea-hello__mark,.ea-typing i,.ea-launch__txt small::before{animation:none!important;opacity:1;transform:none}
}
body.ea-open{overflow:hidden}
@media (min-width:901px){body.ea-open{overflow:auto}}
