/* Automations graphics — extends ai-receptionist-graphics.css + crm-graphics.css primitives */
.rcg .node{position:absolute;padding:14px 18px;display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.rcg .node .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;color:#fff}.rcg .node .ic svg{width:18px;height:18px}
.rcg .node .ic.b{background:var(--blue)}.rcg .node .ic.g{background:var(--green)}.rcg .node .ic.y{background:var(--amber)}.rcg .node .ic.p{background:#7c5cff}
.rcg .node .t{font-size:16px;font-weight:700;white-space:nowrap}.rcg .node .s{font-size:12.5px;color:var(--mute);margin-top:2px;white-space:nowrap}
.rcg .node .k{font-size:10px}
.rcg .wire{position:absolute;inset:0;width:800px;height:600px;pointer-events:none}.rcg .wire path{fill:none;stroke:#2a2f3a;stroke-width:2}
.rcg .wire path.f{stroke:var(--blue);stroke-dasharray:6 10;animation:awf 1.2s linear infinite;opacity:0}
.rcg .pulse{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(59,124,255,.3);opacity:0}
.rcg .sms{position:absolute;padding:12px 16px;border-radius:16px;background:var(--blue);color:#fff;font-size:14px;line-height:1.4;max-width:260px;border-bottom-left-radius:6px;opacity:0}
@keyframes awf{to{stroke-dashoffset:-32}}
/* A1 — lead follow-up sequence */
.rcg .a1 .trig{left:60px;top:60px;width:680px}.rcg .a1 .trig .jchip{margin-left:auto}
.rcg .a1 .step{position:absolute;left:60px;width:400px;height:74px;padding:0 18px;display:flex;align-items:center;gap:14px;opacity:.4}
.rcg .a1 .step .n{width:30px;height:30px;border-radius:50%;background:#2a2f3a;display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--mute);flex:none}
.rcg .a1 .step .t{font-size:15px;font-weight:700;white-space:nowrap}.rcg .a1 .step .s{font-size:12.5px;color:var(--mute);margin-top:2px;white-space:nowrap}
.rcg .a1 .step .when{margin-left:auto;font-size:12px;color:var(--mute);white-space:nowrap;font-variant-numeric:tabular-nums}
.rcg .a1 .s1{top:160px;animation:a1s1 10s ease-out infinite}.rcg .a1 .s2{top:250px;animation:a1s2 10s ease-out infinite}.rcg .a1 .s3{top:340px;animation:a1s3 10s ease-out infinite}.rcg .a1 .s4{top:430px;animation:a1s4 10s ease-out infinite}
.rcg .a1 .s1 .n{animation:a1n1 10s ease-out infinite}.rcg .a1 .s2 .n{animation:a1n2 10s ease-out infinite}.rcg .a1 .s3 .n{animation:a1n3 10s ease-out infinite}
.rcg .a1 .rail{position:absolute;left:92px;top:234px;width:2px;height:196px;background:#2a2f3a}.rcg .a1 .rail i{position:absolute;left:0;top:0;width:2px;height:0;background:var(--blue);animation:a1rail 10s ease-in-out infinite}
.rcg .a1 .ph{position:absolute;left:500px;top:160px;width:240px;height:344px;padding:18px 14px;display:grid;align-content:start;gap:10px;background:#0e1016;border-radius:26px;border:5px solid #23272f}
.rcg .a1 .ph .k{font-size:10px;text-align:center;margin-bottom:4px}
.rcg .a1 .sms{position:relative;max-width:100%;font-size:13px;padding:10px 12px}
.rcg .a1 .m1{animation:a1m1 10s ease-out infinite}.rcg .a1 .m2{animation:a1m2 10s ease-out infinite}.rcg .a1 .m3{animation:a1m3 10s ease-out infinite}
.rcg .a1 .reply{position:relative;align-self:end;justify-self:end;background:#2a2f3a;color:#f4f5f7;border-radius:16px;border-bottom-right-radius:6px;border-bottom-left-radius:16px;padding:10px 12px;font-size:13px;opacity:0;animation:a1rep 10s ease-out infinite;max-width:80%}
.rcg .a1 .stop{position:absolute;left:60px;top:520px;width:400px;padding:12px 18px;display:flex;align-items:center;gap:12px;opacity:0;animation:a1stop 10s ease-out infinite}
.rcg .a1 .stop .chk{width:26px;height:26px;background:var(--green)}.rcg .a1 .stop .t{font-size:14px;font-weight:600;white-space:nowrap}
@keyframes a1s1{0%,6%{opacity:.4}10%,96%{opacity:1}100%{opacity:.4}}
@keyframes a1s2{0%,30%{opacity:.4}34%,96%{opacity:1}100%{opacity:.4}}
@keyframes a1s3{0%,52%{opacity:.4}56%,96%{opacity:1}100%{opacity:.4}}
@keyframes a1s4{0%,100%{opacity:.4}}
@keyframes a1n1{0%,6%{background:#2a2f3a;color:var(--mute)}10%,96%{background:var(--blue);color:#fff}100%{background:#2a2f3a;color:var(--mute)}}
@keyframes a1n2{0%,30%{background:#2a2f3a;color:var(--mute)}34%,96%{background:var(--blue);color:#fff}100%{background:#2a2f3a;color:var(--mute)}}
@keyframes a1n3{0%,52%{background:#2a2f3a;color:var(--mute)}56%,96%{background:var(--blue);color:#fff}100%{background:#2a2f3a;color:var(--mute)}}
@keyframes a1rail{0%,8%{height:0}32%,34%{height:90px}54%,56%{height:180px}70%,96%{height:180px}100%{height:0}}
@keyframes a1m1{0%,10%{opacity:0;transform:translateY(8px)}15%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a1m2{0%,34%{opacity:0;transform:translateY(8px)}39%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a1m3{0%,56%{opacity:0;transform:translateY(8px)}61%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a1rep{0%,70%{opacity:0;transform:translateY(8px)}75%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a1stop{0%,76%{opacity:0;transform:translateY(8px)}82%,96%{opacity:1;transform:none}100%{opacity:0}}
/* A2 — post-install journey */
.rcg .a2 .done{left:60px;top:56px;width:680px}.rcg .a2 .done .jchip{margin-left:auto}
.rcg .a2 .tl{position:absolute;left:100px;top:190px;width:600px;height:2px;background:#2a2f3a}.rcg .a2 .tl i{position:absolute;left:0;top:0;height:2px;width:0;background:var(--green);animation:a2tl 10s linear infinite}
.rcg .a2 .mk{position:absolute;top:170px;width:120px;text-align:center;display:grid;justify-items:center;gap:10px}
.rcg .a2 .mk i{width:22px;height:22px;border-radius:50%;background:#2a2f3a;border:3px solid var(--bg);box-sizing:border-box}
.rcg .a2 .mk b{font-size:13px;font-weight:600;color:var(--mute);white-space:nowrap}
.rcg .a2 .m1{left:40px}.rcg .a2 .m2{left:207px}.rcg .a2 .m3{left:373px}.rcg .a2 .m4{left:540px}
.rcg .a2 .m1 i{background:var(--green)}.rcg .a2 .m1 b{color:#e6e8ec}
.rcg .a2 .m2 i{animation:a2d2 10s linear infinite}.rcg .a2 .m3 i{animation:a2d3 10s linear infinite}.rcg .a2 .m4 i{animation:a2d4 10s linear infinite}
.rcg .a2 .m2 b{animation:a2t2 10s linear infinite}.rcg .a2 .m3 b{animation:a2t3 10s linear infinite}.rcg .a2 .m4 b{animation:a2t4 10s linear infinite}
.rcg .a2 .card.msg{left:60px;top:280px;width:680px;padding:18px 22px;display:flex;align-items:flex-start;gap:14px;opacity:0}
.rcg .a2 .msg .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;color:#fff;background:var(--blue)}.rcg .a2 .msg .ic svg{width:18px;height:18px}
.rcg .a2 .msg .t{font-size:15px;font-weight:700;white-space:nowrap}.rcg .a2 .msg .b{font-size:14px;color:#c7ccd5;line-height:1.45;margin-top:4px}
.rcg .a2 .msg .when{margin-left:auto;font-size:12px;color:var(--mute);white-space:nowrap}
.rcg .a2 .x1{animation:a2x1 10s ease-out infinite}.rcg .a2 .x2{animation:a2x2 10s ease-out infinite}.rcg .a2 .x3{animation:a2x3 10s ease-out infinite}
.rcg .a2 .stars{position:absolute;left:60px;top:420px;width:680px;padding:16px 22px;display:flex;align-items:center;gap:14px;opacity:0;animation:a2rev 10s ease-out infinite}
.rcg .a2 .stars .st{display:flex;gap:4px;color:#f0b81f;font-size:20px;letter-spacing:2px}.rcg .a2 .stars .t{font-size:15px;font-weight:600;white-space:nowrap}.rcg .a2 .stars .s{font-size:13px;color:var(--mute);margin-top:2px}.rcg .a2 .stars .jchip{margin-left:auto}
@keyframes a2tl{0%,6%{width:0}28%,32%{width:167px}52%,56%{width:333px}76%,96%{width:500px}100%{width:0}}
@keyframes a2d2{0%,27%{background:#2a2f3a}30%,96%{background:var(--green)}100%{background:#2a2f3a}}
@keyframes a2d3{0%,51%{background:#2a2f3a}54%,96%{background:var(--green)}100%{background:#2a2f3a}}
@keyframes a2d4{0%,75%{background:#2a2f3a}78%,96%{background:var(--green)}100%{background:#2a2f3a}}
@keyframes a2t2{0%,27%{color:var(--mute)}30%,96%{color:#e6e8ec}100%{color:var(--mute)}}
@keyframes a2t3{0%,51%{color:var(--mute)}54%,96%{color:#e6e8ec}100%{color:var(--mute)}}
@keyframes a2t4{0%,75%{color:var(--mute)}78%,96%{color:#e6e8ec}100%{color:var(--mute)}}
@keyframes a2x1{0%,29%{opacity:0;transform:translateY(10px)}34%,48%{opacity:1;transform:none}52%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes a2x2{0%,53%{opacity:0;transform:translateY(10px)}58%,72%{opacity:1;transform:none}76%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes a2x3{0%,77%{opacity:0;transform:translateY(10px)}82%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a2rev{0%,84%{opacity:0;transform:translateY(12px)}90%,97%{opacity:1;transform:none}100%{opacity:0}}
/* A3 — service reminders */
.rcg .a3 .cust{left:60px;top:56px;width:400px}
.rcg .a3 .cal{position:absolute;left:60px;top:160px;width:400px;padding:18px 20px}
.rcg .a3 .cal .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rcg .a3 .cal .hd .k{font-size:11px}.rcg .a3 .cal .hd .yr{font-size:14px;font-weight:700;position:relative;width:60px;height:18px;text-align:right}.rcg .a3 .cal .hd .yr span{position:absolute;right:0;top:0}
.rcg .a3 .y1{animation:a3y1 10s linear infinite}.rcg .a3 .y2{opacity:0;animation:a3y2 10s linear infinite}
.rcg .a3 .mo{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.rcg .a3 .mo span{height:44px;border-radius:8px;background:rgba(255,255,255,.04);display:grid;place-items:center;font-size:12px;font-weight:600;color:var(--mute)}
.rcg .a3 .mo span.i{background:rgba(47,143,99,.25);color:#5fcf8f}
.rcg .a3 .mo span.r{animation:a3rm 10s ease-out infinite}
.rcg .a3 .sweep{position:absolute;left:0;top:0;height:100%;width:0;border-radius:8px;background:rgba(59,124,255,.12);pointer-events:none}
.rcg .a3 .gap{position:absolute;left:60px;top:436px;width:400px;font-size:13px;color:var(--mute);display:flex;align-items:center;gap:10px}.rcg .a3 .gap b{color:#e6e8ec;font-weight:600}
.rcg .a3 .gap .bar{flex:1;height:6px;border-radius:3px;background:#2a2f3a;overflow:hidden}.rcg .a3 .gap .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),#f0b81f);animation:a3bar 10s ease-in-out infinite}
.rcg .a3 .fire{position:absolute;left:500px;top:160px;width:240px;padding:16px 18px;display:grid;gap:8px;opacity:0;animation:a3fire 10s cubic-bezier(.2,.8,.2,1) infinite;box-shadow:0 0 0 1.5px rgba(240,184,31,.6)}
.rcg .a3 .fire .k{font-size:10px}.rcg .a3 .fire .t{font-size:15px;font-weight:700;white-space:nowrap}.rcg .a3 .fire .s{font-size:12.5px;color:var(--mute);white-space:nowrap}
.rcg .a3 .sms{left:500px;top:290px;max-width:240px;animation:a3sms 10s ease-out infinite}
.rcg .a3 .book{position:absolute;left:500px;top:430px;width:240px;padding:14px 18px;display:flex;align-items:center;gap:12px;opacity:0;animation:a3book 10s ease-out infinite}
.rcg .a3 .book .chk{width:26px;height:26px;background:var(--green)}.rcg .a3 .book .t{font-size:14px;font-weight:600;white-space:nowrap}.rcg .a3 .book .s{font-size:12px;color:var(--mute);margin-top:1px;white-space:nowrap}
@keyframes a3y1{0%,40%{opacity:1}44%,100%{opacity:0}}
@keyframes a3y2{0%,42%{opacity:0}46%,100%{opacity:1}}
@keyframes a3rm{0%,50%{background:rgba(255,255,255,.04);color:var(--mute);box-shadow:none}55%,96%{background:rgba(217,147,35,.22);color:#f0b81f;box-shadow:0 0 0 2px rgba(240,184,31,.6)}100%{background:rgba(255,255,255,.04);color:var(--mute);box-shadow:none}}
@keyframes a3bar{0%,8%{width:0}52%,96%{width:100%}100%{width:0}}
@keyframes a3fire{0%,54%{opacity:0;transform:translateX(-16px)}60%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a3sms{0%,64%{opacity:0;transform:translateY(8px)}70%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a3book{0%,80%{opacity:0;transform:translateY(8px)}86%,96%{opacity:1;transform:none}100%{opacity:0}}
/* A4 — internal tasks */
.rcg .a4 .kb{position:absolute;left:60px;top:56px;width:680px;padding:16px 20px;display:flex;align-items:center;gap:14px}
.rcg .a4 .kb .stage{position:relative;height:28px;width:180px}.rcg .a4 .kb .stage .jchip{position:absolute;left:0;top:0;height:28px;font-size:13px}
.rcg .a4 .kb .st1{animation:a4st1 9s linear infinite}.rcg .a4 .kb .st2{opacity:0;animation:a4st2 9s linear infinite}
.rcg .a4 .kb .arrow{margin-left:auto;font-size:12px;color:var(--mute);display:flex;align-items:center;gap:8px}
.rcg .a4 .tasks{position:absolute;left:60px;top:160px;width:400px;padding:18px 20px 8px}
.rcg .a4 .tasks .k{font-size:11px;margin-bottom:6px}
.rcg .a4 .tk{display:flex;align-items:center;gap:12px;height:58px;border-top:1px solid var(--line)}.rcg .a4 .tk:first-of-type{border-top:0}
.rcg .a4 .tk .bx{width:20px;height:20px;border-radius:6px;border:2px solid #3a404c;flex:none;display:grid;place-items:center}.rcg .a4 .tk .bx svg{width:12px;height:12px;color:#fff;opacity:0}
.rcg .a4 .tk .t{font-size:14px;font-weight:600;white-space:nowrap}.rcg .a4 .tk .s{font-size:12px;color:var(--mute);margin-top:1px;white-space:nowrap}
.rcg .a4 .tk .jav{margin-left:auto}
.rcg .a4 .tk.new{opacity:0;animation:a4new 9s cubic-bezier(.2,.8,.2,1) infinite}
.rcg .a4 .tk.n1{animation-name:a4new1}.rcg .a4 .tk.n2{animation-name:a4new2}.rcg .a4 .tk.n3{animation-name:a4new3}
.rcg .a4 .tk.dn .bx{background:var(--green);border-color:var(--green)}.rcg .a4 .tk.dn .bx svg{opacity:1}.rcg .a4 .tk.dn .t{color:var(--mute);text-decoration:line-through}
.rcg .a4 .ntf{position:absolute;left:500px;width:240px;padding:14px 16px;display:flex;align-items:flex-start;gap:10px;opacity:0}
.rcg .a4 .ntf .t{font-size:13px;font-weight:700;white-space:nowrap}.rcg .a4 .ntf .s{font-size:12px;color:var(--mute);margin-top:2px;line-height:1.35}
.rcg .a4 .f1{top:160px;animation:a4f1 9s cubic-bezier(.2,.8,.2,1) infinite}.rcg .a4 .f2{top:270px;animation:a4f2 9s cubic-bezier(.2,.8,.2,1) infinite}.rcg .a4 .f3{top:380px;animation:a4f3 9s cubic-bezier(.2,.8,.2,1) infinite}
.rcg .a4 .lbl{position:absolute;left:500px;top:136px;font:500 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
@keyframes a4st1{0%,14%{opacity:1}18%,100%{opacity:0}}
@keyframes a4st2{0%,16%{opacity:0;transform:translateY(6px)}20%,100%{opacity:1;transform:none}}
@keyframes a4new1{0%,22%{opacity:0;transform:translateX(-10px)}28%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a4new2{0%,32%{opacity:0;transform:translateX(-10px)}38%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a4new3{0%,42%{opacity:0;transform:translateX(-10px)}48%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a4f1{0%,26%{opacity:0;transform:translateX(14px)}32%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a4f2{0%,36%{opacity:0;transform:translateX(14px)}42%,96%{opacity:1;transform:none}100%{opacity:0}}
@keyframes a4f3{0%,46%{opacity:0;transform:translateX(14px)}52%,96%{opacity:1;transform:none}100%{opacity:0}}
/* A5 — automatic actions chain */
.rcg .a5 .node{width:280px;box-sizing:border-box}
.rcg .a5 .n0{left:40px;top:70px}.rcg .a5 .n1{left:460px;top:70px}.rcg .a5 .n2{left:460px;top:230px}.rcg .a5 .n3{left:460px;top:390px}.rcg .a5 .n4{left:40px;top:390px}
.rcg .a5 .n1,.rcg .a5 .n2,.rcg .a5 .n3,.rcg .a5 .n4{opacity:.35}
.rcg .a5 .n0{animation:a5n0 10s ease-out infinite}.rcg .a5 .n1{animation:a5n1 10s ease-out infinite}.rcg .a5 .n2{animation:a5n2 10s ease-out infinite}.rcg .a5 .n3{animation:a5n3 10s ease-out infinite}.rcg .a5 .n4{animation:a5n4 10s ease-out infinite}
.rcg .a5 .w1{animation:a5w1 10s linear infinite}.rcg .a5 .w2{animation:a5w2 10s linear infinite}.rcg .a5 .w3{animation:a5w3 10s linear infinite}.rcg .a5 .w4{animation:a5w4 10s linear infinite}
.rcg .a5 .node .chk{position:absolute;right:-8px;top:-8px;width:22px;height:22px;background:var(--green);transform:scale(0)}
.rcg .a5 .n1 .chk{animation:a5c1 10s ease-out infinite}.rcg .a5 .n2 .chk{animation:a5c2 10s ease-out infinite}.rcg .a5 .n3 .chk{animation:a5c3 10s ease-out infinite}.rcg .a5 .n4 .chk{animation:a5c4 10s ease-out infinite}
.rcg .a5 .node .t{font-size:15px}.rcg .a5 .plus{position:absolute;left:180px;top:250px;width:200px;text-align:center;font-size:13px;color:var(--mute);opacity:0;animation:a5plus 10s ease-out infinite}.rcg .a5 .plus b{display:block;font-size:26px;font-weight:700;color:#e6e8ec;letter-spacing:-.02em}
.rcg .a5 .foot{position:absolute;left:60px;top:520px;width:680px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--mute)}.rcg .a5 .foot i{width:8px;height:8px;border-radius:50%;background:#5fcf8f}
@keyframes a5n0{0%,4%{box-shadow:none}8%,14%{box-shadow:0 0 0 2px rgba(59,124,255,.7)}20%,100%{box-shadow:none}}
@keyframes a5n1{0%,18%{opacity:.35}24%,96%{opacity:1}100%{opacity:.35}}
@keyframes a5n2{0%,36%{opacity:.35}42%,96%{opacity:1}100%{opacity:.35}}
@keyframes a5n3{0%,54%{opacity:.35}60%,96%{opacity:1}100%{opacity:.35}}
@keyframes a5n4{0%,72%{opacity:.35}78%,96%{opacity:1}100%{opacity:.35}}
@keyframes a5w1{0%,10%{opacity:0}14%,96%{opacity:1}100%{opacity:0}}
@keyframes a5w2{0%,28%{opacity:0}32%,96%{opacity:1}100%{opacity:0}}
@keyframes a5w3{0%,46%{opacity:0}50%,96%{opacity:1}100%{opacity:0}}
@keyframes a5w4{0%,64%{opacity:0}68%,96%{opacity:1}100%{opacity:0}}
@keyframes a5c1{0%,26%{transform:scale(0)}30%{transform:scale(1.2)}33%,96%{transform:scale(1)}100%{transform:scale(0)}}
@keyframes a5c2{0%,44%{transform:scale(0)}48%{transform:scale(1.2)}51%,96%{transform:scale(1)}100%{transform:scale(0)}}
@keyframes a5c3{0%,62%{transform:scale(0)}66%{transform:scale(1.2)}69%,96%{transform:scale(1)}100%{transform:scale(0)}}
@keyframes a5c4{0%,80%{transform:scale(0)}84%{transform:scale(1.2)}87%,96%{transform:scale(1)}100%{transform:scale(0)}}
@keyframes a5plus{0%,84%{opacity:0;transform:translateY(8px)}90%,97%{opacity:1;transform:none}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.rcg .a1 .step,.rcg .a1 .sms,.rcg .a1 .reply,.rcg .a1 .stop,.rcg .a2 .x3,.rcg .a2 .stars,.rcg .a3 .fire,.rcg .a3 .sms,.rcg .a3 .book,.rcg .a4 .tk.new,.rcg .a4 .ntf,.rcg .a5 .node,.rcg .a5 .plus,.rcg .wire path.f{opacity:1;transform:none}.rcg .a5 .node .chk{transform:scale(1)}}
