/* EasyDone website chat (Q851): stays bottom right for the whole conversation. Structure shared by both sites; the tokens sit at the end of this file, one set per site. */
#ed-chat,#ed-chat *{box-sizing:border-box}
#ed-chat{font-family:Manrope,"Segoe UI",sans-serif;font-size:16px;line-height:1.4;text-align:left;letter-spacing:normal}
#ed-chat [hidden]{display:none!important}
#ed-chat button,#ed-chat input,#ed-chat textarea{font:inherit;color:inherit;margin:0}
#ed-chat button{background:none;border:0;padding:0;cursor:pointer}
#ed-chat a{color:inherit}
#ed-chat h2,#ed-chat p{margin:0}
#ed-chat :focus-visible{outline:3px solid #eac51b;outline-offset:2px}
#ed-chat .ca-panel:focus,#ed-chat .ca-bd2:focus{outline:0}
#ed-chat svg.ca-i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* the pill and the teaser: same pill, same place */
#ed-chat .ca-pill{position:fixed;right:22px;bottom:calc(22px + var(--ca-lift,0px));z-index:80;height:58px;padding:0 20px 0 16px;border-radius:999px;background:#eac51b;color:#103d36;font-size:15px;font-weight:800;display:inline-flex;align-items:center;gap:10px;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 18px 40px -12px rgba(6,38,33,.8);transition:transform .2s,opacity .2s,bottom .2s;animation:ca-jiggle 26s ease-in-out 4s infinite}
/* a short wiggle a few seconds after load, then about every 26 s; 'rotate' so it never fights the hover lift */
@keyframes ca-jiggle{0%,3.6%,100%{rotate:0deg}.6%{rotate:-8deg}1.2%{rotate:7deg}1.8%{rotate:-5deg}2.4%{rotate:4deg}3%{rotate:-2deg}}
#ed-chat .ca-pill:hover{transform:translateY(-2px)}
#ed-chat .ca-pill svg.ca-i{width:24px;height:24px;color:#103d36}
#ed-chat .ca-pill.ca-hide{opacity:0;transform:scale(.8);pointer-events:none;animation:none}
#ed-chat .ca-teaser{position:fixed;right:22px;bottom:calc(92px + var(--ca-lift,0px));z-index:80;width:290px;background:#fff;color:#103d36;border-radius:16px;padding:13px 44px 13px 15px;font-size:15px;font-weight:700;line-height:1.35;box-shadow:0 26px 60px -24px rgba(6,38,33,.65),0 0 0 1px rgba(16,61,54,.1);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s,transform .25s}
#ed-chat .ca-teaser.ca-show{opacity:1;transform:none;pointer-events:auto}
#ed-chat .ca-teaser small{display:block;margin-top:3px;font-size:13px;font-weight:600;color:#5a7268}
#ed-chat .ca-teaser button{position:absolute;top:0;right:0;width:44px;height:44px;display:grid;place-items:center;font-size:20px;line-height:1;color:#4d6862}

/* the panel: bottom right, its size, for the whole conversation */
#ed-chat .ca-panel{position:fixed;right:22px;bottom:22px;z-index:1000;width:404px;height:680px;max-height:calc(100vh - 44px);display:flex;flex-direction:column;background:var(--bg);color:var(--ink);overflow:hidden;border-radius:22px;box-shadow:0 40px 90px -30px rgba(6,38,33,.7),0 0 0 1px rgba(16,61,54,.1)}
#ed-chat .ca-panel.ca-pop{animation:ca-pop .24s cubic-bezier(.2,.7,.1,1) both}
@keyframes ca-pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

/* maximise: a bit bigger, still floating with the page around it, never full height */
#ed-chat .ca-panel.ca-big{width:min(560px,calc(100vw - 44px));height:min(820px,calc(100vh - 64px));max-height:none}
@media (min-width:700px) and (prefers-reduced-motion:no-preference){#ed-chat .ca-panel{transition:width .22s cubic-bezier(.2,.7,.1,1),height .22s cubic-bezier(.2,.7,.1,1)}}

/* head */
#ed-chat .ca-bh{flex:none;padding:18px 20px 16px;color:var(--head-ink);background:var(--head)}
#ed-chat .ca-row1{display:flex;align-items:center;gap:10px}
#ed-chat .ca-orb{width:34px;height:34px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,#fff3b8,#eac51b 55%,#b8960c);box-shadow:0 0 0 4px rgba(234,197,27,.22)}
#ed-chat .ca-orb.ca-pulse{animation:ca-orb 1.6s ease-in-out infinite}
@keyframes ca-orb{0%,100%{box-shadow:0 0 0 4px rgba(234,197,27,.22)}50%{box-shadow:0 0 0 9px rgba(234,197,27,.1)}}
#ed-chat .ca-nm{flex:1;min-width:0;line-height:1.25}
#ed-chat .ca-nm b{display:block;font-size:17px;font-weight:800}
#ed-chat .ca-nm span{display:block;font-size:13px;color:var(--head-2)}
#ed-chat .ca-sub span{display:inline;font:inherit;color:inherit}
#ed-chat .ca-sub .ca-xtra{display:none}
#ed-chat .ca-big .ca-sub .ca-xtra{display:inline}
#ed-chat .ca-ctl{height:36px;padding:0 10px;border-radius:10px;background:var(--ctl);display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;white-space:nowrap}
#ed-chat .ca-ctl.ca-ic{width:36px;padding:0;justify-content:center}
#ed-chat .ca-ctl:disabled{opacity:.5;cursor:default}
#ed-chat .ca-bh h2{display:none;margin:14px 0 0;color:inherit;font-family:inherit;font-size:36px;font-weight:800;line-height:1.05;letter-spacing:-.03em}
#ed-chat .ca-bh.ca-fresh h2{display:block}
#ed-chat .ca-bh h2 mark{background:#eac51b;color:#103d36;padding:0 .12em}

/* the conversation */
#ed-chat .ca-bd2{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--body);padding:18px 20px 12px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}
#ed-chat .ca-msg{display:flex;flex-direction:column;gap:8px;max-width:100%}
#ed-chat .ca-msg.ca-v{align-self:flex-end;align-items:flex-end;max-width:86%}
#ed-chat .ca-msg.ca-a{align-self:flex-start;width:100%}
#ed-chat .ca-b{font-size:17px;line-height:1.5;font-weight:500;color:var(--ink);white-space:pre-line;overflow-wrap:anywhere}
#ed-chat .ca-msg.ca-v .ca-b{padding:10px 14px;background:var(--bv);color:var(--bv-ink);border-radius:16px 16px 4px 16px;font-size:15.5px;font-weight:600}
#ed-chat .ca-enter{animation:ca-up .32s cubic-bezier(.2,.7,.1,1) both}
@keyframes ca-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#ed-chat .ca-dots{display:inline-flex;gap:5px;padding:13px 15px;background:var(--ba);border:1px solid var(--line);border-radius:15px;align-self:flex-start}
#ed-chat .ca-dots i{width:7px;height:7px;border-radius:50%;background:var(--mute);animation:ca-dt 1s infinite}
#ed-chat .ca-dots i:nth-child(2){animation-delay:.15s}
#ed-chat .ca-dots i:nth-child(3){animation-delay:.3s}
@keyframes ca-dt{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}

/* starters, chips, time cards */
#ed-chat .ca-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
#ed-chat .ca-chip{min-height:36px;padding:6px 13px;border-radius:999px;border:1.5px solid var(--line);background:var(--chip);color:var(--ink);font-size:13.5px;font-weight:700;display:inline-flex;align-items:center;gap:6px;text-decoration:none;line-height:1.2}
#ed-chat .ca-chip.ca-go{background:#eac51b;color:#103d36;border-color:transparent}
#ed-chat .ca-chip:disabled{opacity:.6;cursor:wait}
#ed-chat .ca-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:2px;width:100%}
#ed-chat .ca-tc{border:1.5px solid var(--line);background:var(--chip);border-radius:13px;padding:11px 10px;display:flex;flex-direction:column;gap:2px;text-align:left;color:var(--ink)}
#ed-chat .ca-tc small{font-size:13px;font-weight:700;color:var(--mute)}
#ed-chat .ca-tc b{font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.15}
#ed-chat .ca-tc.ca-go{background:#eac51b;color:#103d36;border-color:transparent}
#ed-chat .ca-tc.ca-go small{color:#103d36}

/* where an answer came from */
#ed-chat .ca-cards{display:flex;flex-direction:column;gap:6px;margin-top:2px}
#ed-chat .ca-card{display:flex;gap:11px;align-items:center;padding:9px;border-radius:13px;background:var(--chip);border:1.5px solid var(--line);width:100%;text-decoration:none;color:var(--ink)}
#ed-chat .ca-card .ca-th{width:96px;height:60px;border-radius:8px;flex:none;background-color:var(--body);background-size:cover;background-position:top center;background-repeat:no-repeat;border:1px solid var(--line)}
#ed-chat .ca-card .ca-th.ca-plain{background-size:44%;background-position:center}
#ed-chat .ca-card .ca-tx{min-width:0;line-height:1.3;display:block}
#ed-chat .ca-card .ca-tx b{display:block;font-size:14px;font-weight:800;color:var(--ink)}
#ed-chat .ca-card .ca-tx span{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--mute)}
#ed-chat .ca-card .ca-tx span svg.ca-i{width:14px;height:14px}
#ed-chat .ca-src{font-size:13px;font-weight:700;color:var(--mute)}

/* booked, and the team told */
#ed-chat .ca-conf{background:var(--ba);border:1.5px solid #eac51b;border-radius:15px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;font-size:14.5px;color:var(--text);line-height:1.4}
#ed-chat .ca-conf b{display:flex;align-items:center;gap:7px;font-size:15px;color:var(--ink);font-weight:800}
#ed-chat .ca-conf b svg.ca-i{color:#148a5b}
#ed-chat .ca-lnk{align-self:flex-start;font-size:13.5px;font-weight:700;color:var(--mute);text-decoration:underline;text-underline-offset:3px;min-height:24px}
#ed-chat .ca-joined{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--ink);padding:9px 12px;border-radius:12px;background:var(--chip);border:1.5px solid #eac51b;width:100%}

/* the box */
#ed-chat .ca-ft{flex:none;background:var(--bg);border-top:1px solid var(--line);padding:12px 16px 10px}
#ed-chat .ca-cmp{display:flex;gap:8px;align-items:center}
#ed-chat .ca-inp{flex:1;min-width:0;width:100%;height:50px;border-radius:12px;border:1.5px solid var(--line);background:var(--body);padding:0 13px;font-size:15px;color:var(--ink)}
#ed-chat .ca-inp::placeholder{color:var(--mute);opacity:1}
#ed-chat .ca-inp:disabled{opacity:.65;cursor:default}
#ed-chat .ca-snd{width:50px;height:50px;border-radius:12px;background:#eac51b;color:#103d36;display:grid;place-items:center;flex:none}
#ed-chat .ca-snd:disabled{opacity:.45;cursor:default}
#ed-chat .ca-lg{margin:7px 2px 0;font-size:13px;line-height:1.35;color:var(--mute)}
#ed-chat .ca-lg a{text-decoration:underline;text-underline-offset:2px}

/* the fallback form */
#ed-chat .ca-fb{display:grid;gap:10px;background:var(--ba);border:1.5px solid var(--line);border-radius:15px;padding:14px;position:relative}
#ed-chat .ca-fb label{display:grid;gap:5px;font-size:13px;font-weight:700;color:var(--mute)}
#ed-chat .ca-fb input,#ed-chat .ca-fb textarea{width:100%;font-size:16px;font-weight:500;padding:10px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--body);color:var(--ink)}
#ed-chat .ca-fb textarea{min-height:84px;resize:vertical}
#ed-chat .ca-fb .ca-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
#ed-chat .ca-fb .ca-err:empty{display:none}
#ed-chat .ca-fb .ca-err{font-size:14px;font-weight:700;color:#9b2c2c}
#ed-chat .ca-fb .ca-chip{justify-content:center;min-height:44px;font-size:15px}
#ed-chat.ca-dk .ca-fb .ca-err{color:#f5b7b1}

/* the ring on the page */
#ed-chat .ca-ring{position:fixed;z-index:70;pointer-events:none;border:4px solid #eac51b;border-radius:18px;box-shadow:0 0 0 6px rgba(234,197,27,.3);animation:ca-ring 1.6s ease-in-out 2}
#ed-chat .ca-ring.ca-whole{border-radius:14px}
@keyframes ca-ring{50%{box-shadow:0 0 0 13px rgba(234,197,27,.14)}}
#ed-chat .ca-tag{position:fixed;z-index:71;pointer-events:none;background:#103d36;color:#fff;font-size:13px;font-weight:800;padding:5px 10px;border-radius:8px;white-space:nowrap}

/* tablets keep the corner panel; phones get a bottom sheet with the page visible above it */
@media (max-width:699px){
  #ed-chat .ca-pill{right:14px;bottom:calc(14px + var(--ca-lift,0px));width:54px;height:54px;padding:0;justify-content:center}
  #ed-chat .ca-pill span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  #ed-chat .ca-teaser{right:14px;bottom:calc(76px + var(--ca-lift,0px));width:250px;font-size:16px}
  #ed-chat .ca-teaser small{font-size:14px}
  #ed-chat .ca-panel{left:0;right:0;top:auto;bottom:0;width:auto;height:68vh;height:68dvh;max-height:none;border-radius:20px 20px 0 0;box-shadow:0 -24px 60px -20px rgba(6,38,33,.55),0 0 0 1px rgba(16,61,54,.1)}
  #ed-chat .ca-panel.ca-big{width:auto;height:88vh;height:88dvh}
  #ed-chat .ca-panel.ca-kb{border-radius:14px 14px 0 0}
  #ed-chat .ca-big .ca-sub .ca-xtra{display:none}
  #ed-chat .ca-bh{padding:14px 16px}
  #ed-chat .ca-bd2{padding:14px 16px 10px}
  #ed-chat .ca-b{font-size:17px}
  #ed-chat .ca-msg.ca-v .ca-b{font-size:16px}
  #ed-chat .ca-chip{min-height:42px;font-size:15px;padding:8px 15px}
  #ed-chat .ca-tc small,#ed-chat .ca-card .ca-tx span,#ed-chat .ca-src,#ed-chat .ca-lg,#ed-chat .ca-nm span,#ed-chat .ca-ctl,#ed-chat .ca-lnk,#ed-chat .ca-fb label{font-size:14px}
  #ed-chat .ca-card .ca-tx b{font-size:15px}
  #ed-chat .ca-inp{font-size:16px}
  #ed-chat .ca-ft{padding:12px 16px calc(10px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){
  #ed-chat .ca-pill,#ed-chat .ca-teaser{transition:none}
  #ed-chat .ca-pill{animation:none}
  #ed-chat .ca-panel.ca-pop,#ed-chat .ca-enter,#ed-chat .ca-dots i,#ed-chat .ca-orb.ca-pulse,#ed-chat .ca-ring{animation:none!important}
}

/* easydone.work: Manrope, deep green, gold */
#ed-chat.ca-pw{--bg:#fff;--body:#f3f7f4;--head:radial-gradient(130% 120% at 50% -10%,#2B6E5A 0%,#164C40 34%,#0D3329 66%,#06201B 100%);--head-ink:#fff;--head-2:#b9d0c8;--ctl:rgba(255,255,255,.12);--ink:#103d36;--text:#3d5a50;--mute:#5a7268;--line:rgba(16,61,54,.13);--ba:#fff;--bv:#103d36;--bv-ink:#fff;--chip:#fff}
#ed-chat.ca-pw.ca-dk{--bg:#0b2d28;--body:#061915;--ink:#f3f7f4;--text:#d3e3da;--mute:#a9c4b7;--line:rgba(255,255,255,.14);--ba:rgba(255,255,255,.08);--bv:#eac51b;--bv-ink:#103d36;--chip:rgba(255,255,255,.06)}
