/* Ennovity — AP Assistant (chatbot). Uses feature.css for the shell. */

/* ---- chat window ---- */
.pc-chat{left:50%;top:18px;transform:translateX(-50%);width:100%;max-width:364px;padding:0;overflow:hidden;z-index:2}
.chat-top{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--c-line)}
.chat-av{width:30px;height:30px;border-radius:9px;flex:none;display:grid;place-items:center;color:#fff;
  background:linear-gradient(140deg,#2FA574,#0E4A38)}
.chat-av svg{width:16px;height:16px}
.chat-id .nm{font-size:12.5px;font-weight:700;color:var(--c-ink);line-height:1.15;display:block}
.chat-id .st{display:flex;align-items:center;gap:5px;font-size:9.5px;color:var(--green)}
.chat-id .st::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(16,128,92,.15)}
.chat-body{padding:14px 15px 16px;display:flex;flex-direction:column;gap:9px}

.msg{max-width:85%;font-size:11.5px;line-height:1.5;padding:9px 12px;border-radius:13px}
.msg.user{align-self:flex-end;background:#F1F3EF;color:var(--c-ink);border-bottom-right-radius:4px}
.msg.bot{align-self:flex-start;background:var(--g-soft);border:1px solid rgba(16,128,92,.2);color:var(--c-ink);border-bottom-left-radius:4px}
.msg .ai{display:inline-flex;align-items:center;gap:5px;font-size:8.5px;font-weight:700;letter-spacing:.02em;color:var(--green);margin-bottom:5px}
.msg .ai svg{width:10px;height:10px}
.msg b{font-weight:700;color:var(--green-deep)}

/* typing dots */
.typing{align-self:flex-start;display:flex;gap:4px;align-items:center;padding:11px 12px;border-radius:13px;
  background:var(--g-soft);border:1px solid rgba(16,128,92,.2)}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--green);opacity:.4;animation:tdot 1.2s infinite}
.typing i:nth-child(2){animation-delay:.18s}.typing i:nth-child(3){animation-delay:.36s}
@keyframes tdot{0%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

/* source chips */
.src{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.src .lbl{width:100%;font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--c-muted);margin-bottom:1px}
.src .chip{font-size:9px;font-weight:700;color:var(--green);background:#fff;border:1px solid rgba(16,128,92,.28);border-radius:6px;padding:3px 7px;
  opacity:0;animation:popin 5s ease infinite}
.src .chip.c2{animation-delay:.3s}.src .chip.c3{animation-delay:.6s}

/* list answer rows */
.qlist{margin-top:8px;display:grid;gap:5px}
.qli{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;padding:5px 8px;border-radius:7px;background:#fff;border:1px solid var(--c-line)}
.qli b{font-variant-numeric:tabular-nums}
.qli.old{border-color:rgba(181,122,22,.35);background:var(--honey-soft)}

/* ---- grounded answer card (block B) ---- */
.pc-ground{left:50%;top:34px;transform:translateX(-50%);width:100%;max-width:344px;padding:16px;z-index:2}
.gd-ai{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--green);margin-bottom:10px}
.gd-ai svg{width:12px;height:12px}
.gd-a{font-size:12.5px;line-height:1.6;color:var(--c-ink)}
.gd-a b{color:var(--green-deep);font-weight:700}
.gd-note{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:10px;font-weight:600;color:var(--green);
  background:var(--g-soft);border:1px solid rgba(16,128,92,.24);border-radius:999px;padding:6px 11px}
.gd-note svg{width:12px;height:12px}

/* ---- action card in chat (block C) ---- */
.act{align-self:flex-start;width:90%;border-radius:12px;border:1px solid var(--c-line);background:#fff;padding:11px 12px;box-shadow:0 8px 20px rgba(14,74,56,.1)}
.act .q{font-size:11px;color:var(--c-ink);margin-bottom:10px;line-height:1.45}
.act .q b{color:var(--green-deep);font-weight:700}
.act .btns{display:flex;gap:7px}
.act .b{font-size:10px;font-weight:700;padding:7px 13px;border-radius:7px;border:1px solid var(--c-line);background:#fff;color:var(--c-ink)}
.act .b.go{background:var(--green);border-color:var(--green);color:#fff;animation:actpulse 3s ease-in-out infinite}
@keyframes actpulse{0%,100%{box-shadow:0 0 0 0 rgba(16,128,92,0)}50%{box-shadow:0 0 0 5px rgba(16,128,92,.18)}}

/* ---- morning briefing / AI report (block D) ---- */
.pc-report{left:50%;top:14px;transform:translateX(-50%);width:100%;max-width:368px;padding:0;overflow:hidden;z-index:2}
.rp-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--c-line)}
.rp-t{display:flex;align-items:center;gap:9px}
.rp-mail{width:28px;height:28px;border-radius:8px;flex:none;display:grid;place-items:center;background:var(--g-soft);color:var(--green)}
.rp-mail svg{width:15px;height:15px}
.rp-ttl{font-size:12.5px;font-weight:700;color:var(--c-ink);line-height:1.15}
.rp-time{font-size:9.5px;color:var(--c-muted)}
.rp-persona{font-size:8.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green);
  background:var(--g-soft);border:1px solid rgba(16,128,92,.24);border-radius:999px;padding:4px 9px;white-space:nowrap}
.rp-body{padding:13px 15px 15px}
.rp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.rp-kpi{background:var(--surface-l);border:1px solid var(--c-line);border-radius:9px;padding:9px 10px}
.rp-kpi .n{font-size:16px;font-weight:700;color:var(--green-deep);line-height:1;font-variant-numeric:tabular-nums}
.rp-kpi .k{font-size:8px;letter-spacing:.05em;text-transform:uppercase;color:var(--c-muted);margin-top:5px}
.rp-chart{position:relative;height:78px;border:1px solid var(--c-line);border-radius:10px;padding:10px 11px;background:#fff;overflow:hidden}
.rp-bars{display:flex;align-items:flex-end;gap:6px;height:100%}
.rp-bars i{flex:1;border-radius:4px 4px 0 0;background:var(--g-soft);transform-origin:bottom;transform:scaleY(0);animation:barrise 4.6s ease-in-out infinite}
.rp-bars i.hi{background:var(--green)}
.rp-bars i:nth-child(1){height:42%;animation-delay:.1s}
.rp-bars i:nth-child(2){height:56%;animation-delay:.2s}
.rp-bars i:nth-child(3){height:48%;animation-delay:.3s}
.rp-bars i:nth-child(4){height:74%;animation-delay:.4s}
.rp-bars i:nth-child(5){height:60%;animation-delay:.5s}
.rp-bars i:nth-child(6){height:82%;animation-delay:.6s}
.rp-bars i:nth-child(7){height:68%;animation-delay:.7s}
.rp-line{position:absolute;inset:10px 11px;pointer-events:none}
.rp-line svg{width:100%;height:100%;display:block;overflow:visible}
.rp-line path{fill:none;stroke:var(--green-deep);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:320;stroke-dashoffset:320;filter:drop-shadow(0 1px 3px rgba(14,74,56,.35));animation:rpdraw 4.6s ease-in-out infinite}
@keyframes barrise{0%,8%{transform:scaleY(0)}42%,92%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@keyframes rpdraw{0%,12%{stroke-dashoffset:320}48%,92%{stroke-dashoffset:0}100%{stroke-dashoffset:320}}
.rp-summary{margin-top:12px;font-size:11px;line-height:1.55;color:var(--c-ink)}
.rp-summary .ai{display:inline-flex;align-items:center;gap:5px;font-size:8.5px;font-weight:700;color:var(--green);margin-right:5px}
.rp-summary .ai svg{width:10px;height:10px}
.rp-personas{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.rp-personas span{font-size:9px;font-weight:600;color:var(--green-deep);background:#fff;border:1px solid var(--c-line);border-radius:999px;padding:4px 9px}
.rp-personas span.on{background:var(--green);border-color:var(--green);color:#fff}

@media (prefers-reduced-motion:reduce){
  .typing i,.src .chip,.act .b.go,.rp-bars i,.rp-line path{animation:none!important}
  .src .chip{opacity:1!important}
  .rp-bars i{transform:scaleY(1)!important}
  .rp-line path{stroke-dashoffset:0!important}
}
