/* GENERATED -- green theme, derived from the blue stylesheet of the same name.
   Do not hand-edit: rebuild with `python3 tools/theme/build.py`.
   Blue -> #00823b (the previous brand green #039746, deepened to clear AA);
   purple/orange -> #8cc63f (logo lime);
   no blue surfaces: navy fills become deep green, navy type stays navy.
   Product --pa accents and .industry-card keep their variety, minus blue. */
/* ==========================================================================
   GENZAI — BUSINESS ASSISTANT (demo component)
   Self-contained. Drop <div id="hs-ai-assistant"></div> on a page, load this
   file plus ai-assistant.js, and it mounts itself.

   ─── WHERE TO CHANGE COLOURS ───────────────────────────────────────────────
   Every colour lives in the :root block below. Nothing else hard-codes one.
   ========================================================================== */
.hsai-scope{
  --hs-navy:#0a2f73;
  --hs-blue:#00823b;
  --hs-orange:#8cc63f;
  --hs-purple:#548000;
  --hs-green:#13a878;
  --hs-bg:#f5faf6;
  --hs-white:#ffffff;
  --hs-ink:#0b2450;
  --hs-muted:#607664;
  --hs-line:#e2ede4;
  --hs-radius:20px;
  --hs-shadow:0 24px 60px rgba(0,59,23,.12);
}

/* ---------- shell ---------- */
.hsai{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--hs-white);
  border:1px solid var(--hs-line);border-radius:var(--hs-radius);box-shadow:var(--hs-shadow);
  overflow:hidden;font-family:inherit;color:var(--hs-ink)}
.hsai:before{content:"";position:absolute;inset:-1px -1px auto;height:3px;
  background:linear-gradient(90deg,var(--hs-blue),var(--hs-purple) 55%,var(--hs-green))}

/* ---------- header ---------- */
.hsai-head{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--hs-line);
  background:linear-gradient(180deg,#ffffff,#fcfefc)}
.hsai-avatar{position:relative;width:40px;height:40px;flex:none;border-radius:13px;display:grid;place-items:center;
  color:#ffffff;font-size:17px;background:linear-gradient(140deg,var(--hs-blue),var(--hs-purple));
  box-shadow:0 8px 20px rgba(0,147,67,.34)}
.hsai-avatar:after{content:"";position:absolute;inset:-5px;border-radius:17px;
  border:1.5px solid rgba(84,128,0,.34);animation:hsaiPulse 2.8s ease-out infinite}
@keyframes hsaiPulse{0%{transform:scale(.9);opacity:.9}70%{transform:scale(1.18);opacity:0}100%{opacity:0}}
.hsai-id b{display:block;font-size:14.5px;letter-spacing:-.2px}
.hsai-id span{display:block;font-size:11px;color:var(--hs-muted);margin-top:2px}
.hsai-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:800;
  letter-spacing:.7px;color:var(--hs-green);background:rgba(19,168,120,.1);border:1px solid rgba(19,168,120,.24);
  border-radius:999px;padding:6px 11px}
.hsai-live i{width:7px;height:7px;border-radius:50%;background:var(--hs-green);animation:hsaiBlink 2s ease-in-out infinite}
@keyframes hsaiBlink{50%{opacity:.32}}

/* ---------- chat ---------- */
/* Fixed height on purpose: the panel never grows, the conversation scrolls
   inside it. Change the two heights (here and in the 760px block) together. */
.hsai-body{flex:0 0 auto;height:498px;max-height:498px;min-height:0;overflow-y:auto;
  overscroll-behavior:contain;padding:20px 18px;background:var(--hs-bg);scroll-behavior:smooth}
.hsai-body::-webkit-scrollbar{width:6px}
.hsai-body::-webkit-scrollbar-thumb{background:#d6e4d8;border-radius:3px}
.hsai-row{display:flex;gap:10px;margin-bottom:14px;align-items:flex-start}
.hsai-row.user{justify-content:flex-end}
.hsai-badge{width:30px;height:30px;flex:none;border-radius:10px;display:grid;place-items:center;
  font-size:8.5px;font-weight:800;letter-spacing:-.2px;color:#ffffff;
  background:linear-gradient(140deg,var(--hs-blue),var(--hs-purple))}
.hsai-bubble{max-width:84%;font-size:13px;line-height:1.62;padding:13px 15px;border-radius:14px 14px 14px 4px;
  background:#ffffff;border:1px solid var(--hs-line);color:var(--hs-ink);box-shadow:0 4px 14px rgba(0,59,23,.05)}
.hsai-row.user .hsai-bubble{border-radius:14px 14px 4px 14px;color:#ffffff;border-color:transparent;
  background:linear-gradient(120deg,var(--brand-deep),var(--hs-blue));box-shadow:0 8px 20px rgba(0,130,59,.24)}
.hsai-caret{display:inline-block;width:2px;height:1em;background:var(--hs-blue);vertical-align:-.15em;
  margin-left:2px;animation:hsaiBlink 1s step-end infinite}

/* thinking */
.hsai-think{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--hs-muted)}
.hsai-dots{display:inline-flex;gap:4px}
.hsai-dots i{width:6px;height:6px;border-radius:50%;background:var(--hs-purple);
  animation:hsaiDot 1.2s ease-in-out infinite}
.hsai-dots i:nth-child(2){animation-delay:.16s}
.hsai-dots i:nth-child(3){animation-delay:.32s}
@keyframes hsaiDot{0%,62%,100%{opacity:.28;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

/* ---------- data blocks ---------- */
.hsai-panel{margin:0 0 14px 40px;background:#ffffff;border:1px solid var(--hs-line);border-radius:14px;
  padding:15px;box-shadow:0 6px 18px rgba(0,59,23,.05)}
.hsai-panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.hsai-panel-top b{font-size:11.5px;letter-spacing:.2px}
.hsai-panel-top span{font-size:9.5px;color:var(--hs-muted);font-weight:600}

/* bar chart */
.hsai-bar{display:grid;grid-template-columns:88px 1fr 58px;gap:10px;align-items:center;margin-bottom:9px}
.hsai-bar:last-child{margin-bottom:0}
.hsai-bar .bl{font-size:11px;color:var(--hs-muted);font-weight:600}
.hsai-bar .bt{height:9px;border-radius:5px;background:#eef4ef;overflow:hidden}
.hsai-bar .bf{display:block;height:100%;border-radius:5px;transform-origin:left center;
  background:linear-gradient(90deg,var(--hs-blue),var(--hs-purple))}
.hsai-bar.down .bf{background:linear-gradient(90deg,#ff6b6b,var(--hs-orange))}
.hsai-bar .bv{font-size:11.5px;font-weight:800;text-align:right;letter-spacing:-.2px}
.hsai-bar.down .bv{color:#5d8e00}

/* KPI row */
.hsai-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.hsai-kpi{background:linear-gradient(180deg,#ffffff,#fafcfa);border:1px solid var(--hs-line);border-radius:11px;
  padding:11px 12px}
.hsai-kpi small{display:block;font-size:8.5px;letter-spacing:.7px;font-weight:800;color:var(--hs-muted)}
.hsai-kpi b{display:block;font-size:18px;letter-spacing:-.6px;margin-top:5px;color:var(--hs-navy)}
.hsai-kpi em{font-style:normal;font-size:9.5px;color:var(--hs-green);font-weight:700}
.hsai-kpi em.dn{color:#5d8e00}

/* insight */
.hsai-insight{display:flex;gap:11px;align-items:flex-start;margin:0 0 14px 40px;padding:13px 15px;
  border-radius:14px;border:1px solid rgba(84,128,0,.24);
  background:linear-gradient(100deg,rgba(84,128,0,.09),rgba(0,130,59,.05))}
.hsai-insight i{font-style:normal;width:26px;height:26px;flex:none;border-radius:8px;display:grid;place-items:center;
  font-size:12px;color:#ffffff;background:linear-gradient(140deg,var(--hs-purple),var(--hs-blue))}
.hsai-insight b{display:block;font-size:10px;letter-spacing:.9px;color:var(--hs-purple);margin-bottom:4px}
.hsai-insight p{margin:0;font-size:12.5px;line-height:1.6;color:var(--hs-ink)}

/* follow-up */
.hsai-follow{margin:0 0 14px 40px;font-size:12.5px;color:var(--hs-muted);font-style:italic}

/* ---------- chips + input ---------- */
.hsai-chips{display:flex;gap:8px;flex-wrap:wrap;min-width:0;padding:14px 18px 0;background:#ffffff;border-top:1px solid var(--hs-line)}
.hsai-chip{font:inherit;font-size:11.5px;font-weight:600;color:#405844;background:#ffffff;
  border:1px solid var(--hs-line);border-radius:999px;padding:9px 14px;cursor:pointer;
  transition:transform .22s cubic-bezier(.4,0,.2,1),border-color .22s,box-shadow .22s,color .22s}
.hsai-chip:hover{transform:translateY(-3px);border-color:var(--hs-blue);color:var(--hs-blue);
  box-shadow:0 10px 22px rgba(0,130,59,.16)}
.hsai-chip.is-on{border-color:var(--hs-blue);color:var(--hs-blue);background:rgba(0,130,59,.06)}
.hsai-chip:focus-visible{outline:2px solid var(--hs-blue);outline-offset:2px}
.hsai-foot{display:flex;align-items:center;gap:10px;margin:14px 18px 16px;padding:12px 14px;
  border:1px solid var(--hs-line);border-radius:12px;background:var(--hs-bg)}
/* no chip row (data-chips="false") — the chat needs a divider above the input */
.hsai-body + .hsai-foot{margin-top:0;border-top:1px solid var(--hs-line);border-radius:0;
  border-left:0;border-right:0;border-bottom:0;margin-left:0;margin-right:0;
  padding:14px 18px;background:var(--hs-white)}
.hsai-body + .hsai-foot span{color:#94a697}
.hsai-foot span{flex:1;font-size:12px;color:#94a697}
.hsai-foot i{font-style:normal;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  font-size:11px;color:#ffffff;background:linear-gradient(140deg,var(--hs-blue),var(--hs-purple))}
.hsai-note{font-size:10.5px;color:#94a697;text-align:center;padding:0 18px 14px;margin:0}

/* ---------- responsive ---------- */
@media(max-width:760px){
  /* overflow:hidden so a touch drag scrolls the PAGE, not the chat — the
     script still scrolls to the newest message on its own. */
  .hsai-body{height:370px;max-height:370px;padding:16px 14px;
    overflow:hidden;overscroll-behavior:auto}
  .hsai-bubble{max-width:88%;font-size:12.5px}
  .hsai-panel,.hsai-insight,.hsai-follow{margin-left:0}
  .hsai-bar{grid-template-columns:74px 1fr 52px;gap:8px}
  .hsai-kpis{grid-template-columns:1fr;gap:7px}
  .hsai-kpi{display:flex;align-items:baseline;gap:9px}
  .hsai-kpi b{margin-top:0;font-size:16px}
  .hsai-kpi small{flex:1}
  /* one swipeable row instead of five stacked ones */
  .hsai-chips{padding:12px 14px 0;flex-wrap:nowrap;overflow-x:auto;
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .hsai-chips::-webkit-scrollbar{display:none}
  .hsai-chip{font-size:11px;padding:8px 12px;flex:none;white-space:nowrap}
  .hsai-avatar:after{display:none}   /* fewer decorative loops on mobile */
}
@media(prefers-reduced-motion:reduce){
  .hsai-avatar:after,.hsai-live i,.hsai-dots i,.hsai-caret{animation:none}
  .hsai-body{scroll-behavior:auto}
}

/* ==========================================================================
   DEMO PAGE LAYOUT — only used by ai-demo.html.
   Delete this block if you embed the assistant on an existing page.
   ========================================================================== */
.aid{position:relative;overflow:hidden;padding:60px 0 64px;
  background:linear-gradient(180deg,#f7faf8,#ffffff 62%)}
.aid:before{content:"";position:absolute;width:720px;height:720px;right:-300px;top:-320px;border-radius:50%;
  background:radial-gradient(circle,rgba(84,128,0,.13),transparent 66%);pointer-events:none}
.aid:after{content:"";position:absolute;width:560px;height:560px;left:-260px;bottom:-280px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,130,59,.11),transparent 66%);pointer-events:none}
.aid-grid{position:relative;z-index:2;display:grid;gap:48px;align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(0,1.22fr)}   /* ≈45% / 55% */
.aid-copy h2{font-size:40px;line-height:1.08;letter-spacing:-1.6px;font-weight:800;margin-bottom:16px;color:#0b2450}
.aid-copy h2 span{background:linear-gradient(90deg,#00823b,#548000);-webkit-background-clip:text;
  background-clip:text;color:transparent}
.aid-copy>p{font-size:15.5px;line-height:1.72;color:#536957;max-width:480px;margin-bottom:28px}
.aid-list{display:grid;gap:14px;margin-bottom:28px}
.aid-item{display:flex;gap:14px;align-items:flex-start;background:#ffffff;border:1px solid #e2ede4;
  border-radius:15px;padding:15px 17px;box-shadow:0 8px 22px rgba(0,59,23,.05);
  transition:transform .26s cubic-bezier(.4,0,.2,1),box-shadow .26s,border-color .26s}
.aid-item:hover{transform:translateY(-3px);border-color:#c9e0cd;box-shadow:0 16px 34px rgba(0,59,23,.1)}
.aid-item i{font-style:normal;width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;
  font-size:15px;color:#ffffff;background:linear-gradient(140deg,#00823b,#548000)}
.aid-item.g i{background:linear-gradient(140deg,#13a878,#00823b)}
.aid-item.o i{background:linear-gradient(140deg,#8cc63f,#548000)}
.aid-item b{display:block;font-size:14px;letter-spacing:-.2px;color:#0b2450;margin-bottom:3px}
.aid-item p{margin:0;font-size:12.5px;line-height:1.62;color:#607664}
.aid-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:980px){
  .aid-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .aid-copy h2{font-size:32px;letter-spacing:-1.1px}
  .aid-copy>p{max-width:none}
}
@media(max-width:760px){
  .aid{padding:42px 0 54px}
  .aid-copy h2{font-size:27px;letter-spacing:-.9px}
  .aid-copy>p{font-size:14.5px}
}


/* ── Green theme: readability repairs ────────────────────────────────────── */
.aid-item.g i{background:linear-gradient(140deg,#0f9068,#00823b)}           /* white glyph         3.81 -> 4.93 */
.hsai-row.user .hsai-bubble{background:linear-gradient(120deg,var(--brand-deep),#00823b)}  /* white chat text 3.81 -> 4.93 */
