/* Hero graphics — shared shell (800×450, light, token-driven, 14s loop). Feature heroes H1–H7. */
.rcg .hg{background:var(--g-bg,#fff);color:var(--g-ink,#111318);text-align:left;line-height:normal;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;--t:14s;--blue:#1b64f3;--grn:#15803d;--red:#dc2626;--org:#d97706;--pur:#7c3aed}
.rcg .ab.hg{width:800px;height:450px}.rcg .hg *{font-family:inherit;box-sizing:border-box;margin:0}
.rcg .hg .scene{position:absolute;inset:0;animation:hgfade var(--t) linear infinite}@keyframes hgfade{0%,97%{opacity:1}98.5%{opacity:0}100%{opacity:1}}
.rcg .hg .panel{position:absolute;inset:0;overflow:hidden;padding:18px 22px;background:var(--g-bg,#fff)}
.rcg .hg .top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;min-height:28px}
.rcg .hg .top .t{font-size:13.5px;font-weight:700;letter-spacing:-.01em}.rcg .hg .top .s{font-size:9.5px;color:var(--g-mute,#6b7280);margin-top:2px}
.rcg .hg .rt{display:flex;gap:6px;align-items:center}
.rcg .hg .btn{height:26px;padding:0 10px;border-radius:6px;border:1px solid var(--g-line,#e6e8ed);font-size:10px;font-weight:600;display:inline-flex;align-items:center;gap:5px;background:var(--g-bg,#fff);color:var(--g-ink2,#3a3f4b);white-space:nowrap;position:relative}
.rcg .hg .btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}.rcg .hg .btn.dk{background:#0c0d10;border-color:#0c0d10;color:#fff}
.rcg .hg .btn.pulse::after{content:"";position:absolute;inset:-3px;border-radius:8px;border:1.5px solid var(--blue);opacity:0;animation:hgpulse var(--t) ease-out infinite}
.rcg .hg .tabs{display:flex;gap:16px;border-bottom:1px solid var(--g-line,#e6e8ed);margin-bottom:12px}
.rcg .hg .tabs span{font-size:10.5px;font-weight:600;color:var(--g-mute,#6b7280);padding:0 0 8px;border-bottom:2px solid transparent;display:flex;gap:5px;align-items:center;white-space:nowrap}
.rcg .hg .tabs span.on{color:var(--blue);border-color:var(--blue)}.rcg .hg .tabs .btn{padding:0 10px;height:26px;font-size:10px;border-bottom:1px solid var(--blue);align-self:flex-start;margin-top:-4px}
.rcg .hg .tabs .sw{display:inline-grid}.rcg .hg .tabs b{font-size:8.5px;background:var(--g-hi,#f3f4f6);border-radius:8px;padding:1px 6px;font-weight:600;color:var(--g-ink2,#3a3f4b)}
.rcg .hg .pills{display:inline-flex;gap:2px;padding:3px;border-radius:8px;background:var(--g-hi,#f3f4f6)}.rcg .hg .pills span{font-size:9.5px;font-weight:600;color:var(--g-mute,#6b7280);padding:4px 9px;border-radius:6px}.rcg .hg .pills span.on{background:var(--g-bg,#fff);color:var(--g-ink,#111318);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.rcg .hg .srch{height:26px;border:1px solid var(--g-line,#e6e8ed);border-radius:6px;padding:0 9px;display:flex;align-items:center;gap:6px;font-size:9.5px;color:var(--g-mute2,#9aa0ab);background:var(--g-bg,#fff)}.rcg .hg .srch::before{content:"";width:8px;height:8px;border:1.5px solid currentColor;border-radius:50%}
.rcg .hg .sel{height:26px;border:1px solid var(--g-line,#e6e8ed);border-radius:6px;padding:0 9px;display:inline-flex;align-items:center;gap:8px;font-size:9.5px;font-weight:600;color:var(--g-ink2,#3a3f4b);white-space:nowrap}.rcg .hg .sel::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.rcg .hg .chip{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 7px;border-radius:5px;border:1px solid var(--g-line,#e6e8ed);font-size:8.5px;font-weight:600;white-space:nowrap;color:var(--g-ink2,#3a3f4b);background:var(--g-bg,#fff)}
.rcg .hg .chip.fd{background:var(--g-hi,#f3f4f6);border-color:transparent}
.rcg .hg .chip.g{color:var(--grn);border-color:var(--g-gline,#bbf7d0);background:var(--g-gtint,#f0fdf4)}.rcg .hg .chip.r{color:var(--red);border-color:var(--g-rline,#fecaca);background:var(--g-rtint,#fef2f2)}.rcg .hg .chip.o{color:var(--org);border-color:var(--g-oline,#fde68a);background:var(--g-otint,#fffbeb)}.rcg .hg .chip.b{color:var(--blue);border-color:var(--g-blueline,#c9d8fb);background:var(--g-bluetint,rgba(27,100,243,.07))}.rcg .hg .chip.p{color:var(--pur);border-color:var(--g-pline,#ddd6fe);background:var(--g-ptint,#f5f3ff)}
.rcg .hg .chip.st::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.rcg .hg .chip.gh{border-style:dashed;color:var(--g-mute,#6b7280);background:transparent}
.rcg .hg .kpi{border:1px solid var(--g-line,#e6e8ed);border-radius:8px;padding:10px 12px;position:relative;background:var(--g-bg,#fff)}
.rcg .hg .kpi .k{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g-mute,#6b7280)}
.rcg .hg .kpi .v{font-size:16px;font-weight:700;margin-top:4px;letter-spacing:-.01em}.rcg .hg .kpi .d{font-size:8.5px;margin-top:3px;color:var(--grn);font-weight:600}.rcg .hg .kpi .d.dn{color:var(--red)}
.rcg .hg .stat{height:30px;border:1px solid var(--g-line,#e6e8ed);border-radius:7px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font-size:9.5px;color:var(--g-mute,#6b7280);white-space:nowrap}.rcg .hg .stat b{color:var(--g-ink,#111318);font-weight:700}.rcg .hg .stat b.bl{color:var(--blue)}.rcg .hg .stat b.gr{color:var(--grn)}
.rcg .hg .tbl .hd{display:grid;gap:10px;padding:0 10px 7px;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g-mute,#6b7280);border-bottom:1px solid var(--g-line,#e6e8ed)}
.rcg .hg .tbl .row{display:grid;gap:10px;align-items:center;padding:0 10px;height:40px;border-bottom:1px solid var(--g-soft,#f1f2f5);font-size:10px;position:relative}
.rcg .hg .row .n{font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rcg .hg .row .sub{display:block;font-size:8.5px;color:var(--g-mute,#6b7280);font-weight:400;margin-top:2px}
.rcg .hg .mut{color:var(--g-mute,#6b7280)}.rcg .hg .gr{color:var(--grn)}.rcg .hg .bl{color:var(--blue)}.rcg .hg .rd{color:var(--red)}
.rcg .hg .sw{position:relative;display:inline-grid;align-items:center;justify-items:start}.rcg .hg .sw>*{grid-area:1/1;white-space:nowrap}.rcg .hg .sw .b{opacity:0}.rcg .hg .sw.c{justify-items:center}.rcg .hg .sw.e{justify-items:end}
.rcg .hg .av{width:30px;height:30px;border-radius:8px;background:var(--g-hi,#f3f4f6);color:var(--g-ink2,#3a3f4b);display:grid;place-items:center;font-size:10px;font-weight:700;flex:none}
.rcg .hg .tg{width:26px;height:15px;border-radius:8px;background:var(--g-mute3,#d1d5db);position:relative;flex:none}.rcg .hg .tg::after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.rcg .hg .tg.on{background:var(--blue)}.rcg .hg .tg.on::after{transform:translateX(11px)}
.rcg .hg .toast{position:absolute;right:22px;bottom:18px;background:#0c0d10;color:#fff;border-radius:10px;padding:10px 14px;display:flex;align-items:flex-start;gap:10px;opacity:0;z-index:8;max-width:340px}
.rcg .hg .toast .ok{width:22px;height:22px;border-radius:50%;background:#1f9d55;display:grid;place-items:center;flex:none}.rcg .hg .toast .ok.b{background:var(--blue)}.rcg .hg .toast .ok.p{background:var(--pur)}.rcg .hg .toast .ok svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rcg .hg .toast .tt{font-size:11.5px;font-weight:700;white-space:nowrap}.rcg .hg .toast .ss{font-size:9.5px;color:rgba(255,255,255,.65);margin-top:1px;line-height:1.35}
.rcg .hg .cur{position:absolute;width:14px;height:14px;z-index:9;opacity:0}.rcg .hg .cur svg{width:100%;height:100%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
.rcg .hg .pop{position:absolute;background:var(--g-bg,#fff);border:1px solid var(--g-line,#e6e8ed);border-radius:10px;box-shadow:0 24px 50px -20px rgba(0,0,0,.35);padding:12px 14px;z-index:7}
.rcg .hg .pop .t{font-size:11px;font-weight:700}.rcg .hg .pop .s{font-size:9px;color:var(--g-mute,#6b7280);margin-top:2px}
.rcg .hg .sec{font-size:11px;font-weight:700;margin:0 0 8px;padding:0;background:none;border:0}
.rcg .hg .fld{font-size:8.5px;color:var(--g-mute,#6b7280)}.rcg .hg .fld b{display:block;font-size:10px;font-weight:600;color:var(--g-ink,#111318);margin-top:2px}
.rcg .hg .bar{height:6px;border-radius:3px;background:var(--g-hi,#eceef2);overflow:hidden}.rcg .hg .bar i{display:block;height:100%;border-radius:3px;background:var(--blue);transform-origin:0 50%}
@keyframes hgpulse{0%,8.57%{opacity:0;transform:scale(1)}10.71%{opacity:1}17.14%{opacity:0;transform:scale(1.25)}100%{opacity:0}}
@keyframes hgblink{50%{opacity:.25}}
@keyframes hgin1{0%,7.14%{opacity:0;transform:translateY(5px)}10%,100%{opacity:1;transform:none}}
@keyframes hgout1{0%,7.14%{opacity:1}7.86%,100%{opacity:0}}
.rcg .hg .i1{opacity:0;animation:hgin1 var(--t) ease-out infinite}.rcg .hg .o1{animation:hgout1 var(--t) step-end infinite}.rcg .hg .sw.s1 .a{animation:hgout1 var(--t) step-end infinite}.rcg .hg .sw.s1 .b{animation:hgin1 var(--t) ease-out infinite}
@keyframes hgin2{0%,14.29%{opacity:0;transform:translateY(5px)}17.14%,100%{opacity:1;transform:none}}
@keyframes hgout2{0%,14.29%{opacity:1}15%,100%{opacity:0}}
.rcg .hg .i2{opacity:0;animation:hgin2 var(--t) ease-out infinite}.rcg .hg .o2{animation:hgout2 var(--t) step-end infinite}.rcg .hg .sw.s2 .a{animation:hgout2 var(--t) step-end infinite}.rcg .hg .sw.s2 .b{animation:hgin2 var(--t) ease-out infinite}
@keyframes hgin3{0%,21.43%{opacity:0;transform:translateY(5px)}24.29%,100%{opacity:1;transform:none}}
@keyframes hgout3{0%,21.43%{opacity:1}22.14%,100%{opacity:0}}
.rcg .hg .i3{opacity:0;animation:hgin3 var(--t) ease-out infinite}.rcg .hg .o3{animation:hgout3 var(--t) step-end infinite}.rcg .hg .sw.s3 .a{animation:hgout3 var(--t) step-end infinite}.rcg .hg .sw.s3 .b{animation:hgin3 var(--t) ease-out infinite}
@keyframes hgin4{0%,28.57%{opacity:0;transform:translateY(5px)}31.43%,100%{opacity:1;transform:none}}
@keyframes hgout4{0%,28.57%{opacity:1}29.29%,100%{opacity:0}}
.rcg .hg .i4{opacity:0;animation:hgin4 var(--t) ease-out infinite}.rcg .hg .o4{animation:hgout4 var(--t) step-end infinite}.rcg .hg .sw.s4 .a{animation:hgout4 var(--t) step-end infinite}.rcg .hg .sw.s4 .b{animation:hgin4 var(--t) ease-out infinite}
@keyframes hgin5{0%,35.71%{opacity:0;transform:translateY(5px)}38.57%,100%{opacity:1;transform:none}}
@keyframes hgout5{0%,35.71%{opacity:1}36.43%,100%{opacity:0}}
.rcg .hg .i5{opacity:0;animation:hgin5 var(--t) ease-out infinite}.rcg .hg .o5{animation:hgout5 var(--t) step-end infinite}.rcg .hg .sw.s5 .a{animation:hgout5 var(--t) step-end infinite}.rcg .hg .sw.s5 .b{animation:hgin5 var(--t) ease-out infinite}
@keyframes hgin6{0%,42.86%{opacity:0;transform:translateY(5px)}45.71%,100%{opacity:1;transform:none}}
@keyframes hgout6{0%,42.86%{opacity:1}43.57%,100%{opacity:0}}
.rcg .hg .i6{opacity:0;animation:hgin6 var(--t) ease-out infinite}.rcg .hg .o6{animation:hgout6 var(--t) step-end infinite}.rcg .hg .sw.s6 .a{animation:hgout6 var(--t) step-end infinite}.rcg .hg .sw.s6 .b{animation:hgin6 var(--t) ease-out infinite}
@keyframes hgin7{0%,50%{opacity:0;transform:translateY(5px)}52.86%,100%{opacity:1;transform:none}}
@keyframes hgout7{0%,50%{opacity:1}50.71%,100%{opacity:0}}
.rcg .hg .i7{opacity:0;animation:hgin7 var(--t) ease-out infinite}.rcg .hg .o7{animation:hgout7 var(--t) step-end infinite}.rcg .hg .sw.s7 .a{animation:hgout7 var(--t) step-end infinite}.rcg .hg .sw.s7 .b{animation:hgin7 var(--t) ease-out infinite}
@keyframes hgin8{0%,57.14%{opacity:0;transform:translateY(5px)}60%,100%{opacity:1;transform:none}}
@keyframes hgout8{0%,57.14%{opacity:1}57.86%,100%{opacity:0}}
.rcg .hg .i8{opacity:0;animation:hgin8 var(--t) ease-out infinite}.rcg .hg .o8{animation:hgout8 var(--t) step-end infinite}.rcg .hg .sw.s8 .a{animation:hgout8 var(--t) step-end infinite}.rcg .hg .sw.s8 .b{animation:hgin8 var(--t) ease-out infinite}
@keyframes hgin9{0%,64.29%{opacity:0;transform:translateY(5px)}67.14%,100%{opacity:1;transform:none}}
@keyframes hgout9{0%,64.29%{opacity:1}65%,100%{opacity:0}}
.rcg .hg .i9{opacity:0;animation:hgin9 var(--t) ease-out infinite}.rcg .hg .o9{animation:hgout9 var(--t) step-end infinite}.rcg .hg .sw.s9 .a{animation:hgout9 var(--t) step-end infinite}.rcg .hg .sw.s9 .b{animation:hgin9 var(--t) ease-out infinite}
@keyframes hgin10{0%,71.43%{opacity:0;transform:translateY(5px)}74.29%,100%{opacity:1;transform:none}}
@keyframes hgout10{0%,71.43%{opacity:1}72.14%,100%{opacity:0}}
.rcg .hg .i10{opacity:0;animation:hgin10 var(--t) ease-out infinite}.rcg .hg .o10{animation:hgout10 var(--t) step-end infinite}.rcg .hg .sw.s10 .a{animation:hgout10 var(--t) step-end infinite}.rcg .hg .sw.s10 .b{animation:hgin10 var(--t) ease-out infinite}
@keyframes hgin11{0%,78.57%{opacity:0;transform:translateY(5px)}81.43%,100%{opacity:1;transform:none}}
@keyframes hgout11{0%,78.57%{opacity:1}79.29%,100%{opacity:0}}
.rcg .hg .i11{opacity:0;animation:hgin11 var(--t) ease-out infinite}.rcg .hg .o11{animation:hgout11 var(--t) step-end infinite}.rcg .hg .sw.s11 .a{animation:hgout11 var(--t) step-end infinite}.rcg .hg .sw.s11 .b{animation:hgin11 var(--t) ease-out infinite}
@keyframes hgin12{0%,85.71%{opacity:0;transform:translateY(5px)}88.57%,100%{opacity:1;transform:none}}
@keyframes hgout12{0%,85.71%{opacity:1}86.43%,100%{opacity:0}}
.rcg .hg .i12{opacity:0;animation:hgin12 var(--t) ease-out infinite}.rcg .hg .o12{animation:hgout12 var(--t) step-end infinite}.rcg .hg .sw.s12 .a{animation:hgout12 var(--t) step-end infinite}.rcg .hg .sw.s12 .b{animation:hgin12 var(--t) ease-out infinite}
@keyframes hgt2{0%,14.29%{opacity:0;transform:translateY(10px)}17.14%,34.29%{opacity:1;transform:none}37.14%,100%{opacity:0;transform:translateY(4px)}}.rcg .hg .toast.t2{animation:hgt2 var(--t) ease-out infinite}
@keyframes hgt3{0%,21.43%{opacity:0;transform:translateY(10px)}24.29%,41.43%{opacity:1;transform:none}44.29%,100%{opacity:0;transform:translateY(4px)}}.rcg .hg .toast.t3{animation:hgt3 var(--t) ease-out infinite}
@keyframes hgt4{0%,28.57%{opacity:0;transform:translateY(10px)}31.43%,48.57%{opacity:1;transform:none}51.43%,100%{opacity:0;transform:translateY(4px)}}.rcg .hg .toast.t4{animation:hgt4 var(--t) ease-out infinite}
@keyframes hgt5{0%,35.71%{opacity:0;transform:translateY(10px)}38.57%,55.71%{opacity:1;transform:none}58.57%,100%{opacity:0;transform:translateY(4px)}}.rcg .hg .toast.t5{animation:hgt5 var(--t) ease-out infinite}
@keyframes hgt6{0%,42.86%{opacity:0;transform:translateY(10px)}45.71%,62.86%{opacity:1;transform:none}65.71%,100%{opacity:0;transform:translateY(4px)}}.rcg .hg .toast.t6{animation:hgt6 var(--t) ease-out infinite}
@keyframes hgt7{0%,50%{opacity:0;transform:translateY(10px)}52.86%,70%{opacity:1;transform:none}72.86%,100%{opacity:0;transform:translateY(4px)}}.rcg .hg .toast.t7{animation:hgt7 var(--t) ease-out infinite}
@keyframes hgt8{0%,57.14%{opacity:0;transform:translateY(10px)}60%,77.14%{opacity:1;transform:none}80%,100%{opacity:0;transform:translateY(4px)}}.rcg .hg .toast.t8{animation:hgt8 var(--t) ease-out infinite}
@keyframes hgt9{0%,64.29%{opacity:0;transform:translateY(10px)}67.14%,84.29%{opacity:1;transform:none}87.14%,100%{opacity:0;transform:translateY(4px)}}.rcg .hg .toast.t9{animation:hgt9 var(--t) ease-out infinite}
@keyframes hgt10{0%,71.43%{opacity:0;transform:translateY(10px)}74.29%,91.43%{opacity:1;transform:none}94.29%,100%{opacity:0;transform:translateY(4px)}}.rcg .hg .toast.t10{animation:hgt10 var(--t) ease-out infinite}

/* ===== H1 Calendar ===== */
.rcg .h1 .mo{display:flex;align-items:center;gap:10px;height:28px;padding:0 10px;border:1px solid var(--g-line,#e6e8ed);border-radius:7px;font-size:11px;font-weight:700}.rcg .h1 .mo span{color:var(--g-mute,#6b7280);font-weight:400}
.rcg .h1 .kp{display:flex;gap:6px}.rcg .h1 .kp .stat{height:28px}
.rcg .h1 .cal{border:1px solid var(--g-line,#e6e8ed);border-radius:8px;overflow:hidden}
.rcg .h1 .dh{display:grid;grid-template-columns:repeat(7,1fr);height:18px;background:var(--g-soft,#f6f7f9);border-bottom:1px solid var(--g-line,#e6e8ed)}.rcg .h1 .dh span{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g-mute,#6b7280);display:grid;place-items:center}
.rcg .h1 .wk{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:20px repeat(4,14px);row-gap:3px;height:92px;border-bottom:1px solid var(--g-line,#e6e8ed);position:relative}.rcg .h1 .wk:last-child{border-bottom:0}
.rcg .h1 .wk::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/7 - 1px),var(--g-soft,#f1f2f5) calc(100%/7 - 1px) calc(100%/7))}
.rcg .h1 .d{grid-row:1;font-size:9.5px;font-weight:600;padding:4px 7px;position:relative}.rcg .h1 .d.td span{background:var(--blue);color:#fff;border-radius:50%;width:16px;height:16px;display:inline-grid;place-items:center;margin:-2px 0 0 -3px}
.rcg .h1 .ev{height:14px;margin:0 3px;border-radius:3px;border-left:2px solid var(--c);background:var(--bgc);font-size:8px;font-weight:600;display:flex;align-items:center;gap:5px;padding:0 5px;white-space:nowrap;overflow:hidden;position:relative;color:var(--g-ink,#111318)}.rcg .h1 .ev i{font-style:normal;color:var(--g-mute,#6b7280);font-weight:500}.rcg .h1 .ev b{margin-left:auto;font-weight:700}
.rcg .h1 .pu{--c:#7c3aed;--bgc:var(--g-putint,#f1ebff)}.rcg .h1 .bl{--c:#1b64f3;--bgc:var(--g-bluetint,#e6efff)}.rcg .h1 .pk{--c:#db2777;--bgc:var(--g-pktint,#fdeaf3)}.rcg .h1 .or{--c:#f97316;--bgc:var(--g-otint,#fff1e6)}.rcg .h1 .tl{--c:#0891b2;--bgc:var(--g-tltint,#e3f6fb)}.rcg .h1 .gn{--c:#16a34a;--bgc:var(--g-gtint,#e8f8ee)}
.rcg .h1 .drag{position:absolute;width:102px;left:241px;top:312px;z-index:6;animation:h1drag var(--t) cubic-bezier(.2,.8,.2,1) infinite;opacity:0;margin:0}
@keyframes h1drag{0%,14.29%{opacity:0;left:241px;transform:none;box-shadow:none}15.71%{opacity:1;transform:scale(1.05);box-shadow:0 10px 24px -8px rgba(0,0,0,.35)}28.57%{left:457px;transform:scale(1.05);box-shadow:0 10px 24px -8px rgba(0,0,0,.35)}30.71%,100%{opacity:1;left:457px;transform:none;box-shadow:none}}
.rcg .h1 .cur{animation:h1cur var(--t) cubic-bezier(.3,.7,.3,1) infinite}
@keyframes h1cur{0%,8.57%{opacity:0;left:270px;top:340px}12.86%{opacity:1;left:252px;top:322px}14.29%{left:252px;top:322px}28.57%{left:468px;top:322px}32.14%{opacity:0;left:468px;top:322px}100%{opacity:0;left:468px;top:322px}}
/* ===== H2 Customer ===== */
.rcg .h2 .hdr{display:flex;align-items:center;gap:12px}.rcg .h2 .hdr .av{width:34px;height:34px}.rcg .h2 .hdr .nm{font-size:16px;font-weight:700;letter-spacing:-.02em}
.rcg .h2 .hdr .kp{display:flex;gap:6px;margin-left:8px}
.rcg .h2 .grid{display:grid;grid-template-columns:1.1fr 1fr;gap:0 40px}
.rcg .h2 .ci{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-bottom:12px}
.rcg .h2 .note{font-size:9.5px;color:var(--g-ink2,#3a3f4b);padding:10px 0;border-top:1px solid var(--g-soft,#f1f2f5);border-bottom:1px solid var(--g-soft,#f1f2f5);margin-bottom:6px}.rcg .h2 .note span{color:var(--g-mute,#6b7280)}
.rcg .h2 .tgl{display:flex;align-items:center;gap:10px;padding:7px 0}.rcg .h2 .tgl .ic{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--g-mute3,#d1d5db)}.rcg .h2 .tgl .ic.b{border-color:var(--blue)}.rcg .h2 .tgl .tx{flex:1;font-size:10px;font-weight:600}.rcg .h2 .tgl .tx small{display:block;font-size:8.5px;color:var(--g-mute,#6b7280);font-weight:400;margin-top:1px}
.rcg .h2 .tg.a3{animation:h2tg var(--t) step-end infinite}.rcg .h2 .tg.a3::after{animation:h2tgk var(--t) cubic-bezier(.2,.8,.2,1) infinite}
@keyframes h2tg{0%,21.43%{background:var(--g-mute3,#d1d5db)}21.79%,100%{background:var(--blue)}}@keyframes h2tgk{0%,21.43%{transform:none}23.57%,100%{transform:translateX(11px)}}
.rcg .h2 .tl{border:1px solid var(--g-line,#e6e8ed);border-radius:8px;padding:12px 14px}.rcg .h2 .tl .it{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:start;padding:7px 0;border-bottom:1px solid var(--g-soft,#f1f2f5);font-size:9.5px}.rcg .h2 .tl .it:last-child{border-bottom:0}.rcg .h2 .tl .it i{width:8px;height:8px;border-radius:50%;background:var(--g-mute3,#d1d5db);margin-top:3px}.rcg .h2 .tl .it i.b{background:var(--blue)}.rcg .h2 .tl .it i.g{background:var(--grn)}.rcg .h2 .tl .it i.p{background:var(--pur)}.rcg .h2 .tl .it b{font-weight:600}.rcg .h2 .tl .it small{display:block;color:var(--g-mute,#6b7280);font-size:8.5px;margin-top:1px}.rcg .h2 .tl .it time{font-size:8.5px;color:var(--g-mute2,#9aa0ab);white-space:nowrap}
.rcg .h2 .cur{animation:h2cur var(--t) cubic-bezier(.3,.7,.3,1) infinite}
@keyframes h2cur{0%,10%{opacity:0;left:300px;top:380px}15.71%{opacity:1;left:352px;top:334px}21.43%{left:352px;top:334px}22.14%{left:350px;top:332px}24.29%{left:352px;top:334px}30%{opacity:0;left:360px;top:350px}100%{opacity:0;left:360px;top:350px}}
/* ===== H3 Team ===== */
.rcg .h3 .hdr{display:flex;align-items:center;gap:12px}.rcg .h3 .hdr .av{width:34px;height:34px}.rcg .h3 .hdr .nm{font-size:16px;font-weight:700;letter-spacing:-.02em}.rcg .h3 .hdr .kp{display:flex;gap:6px;margin-left:8px}
.rcg .h3 .grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.rcg .h3 .ci{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:14px}
.rcg .h3 .chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.rcg .h3 .avl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}.rcg .h3 .avl span{height:24px;border:1px solid var(--g-line,#e6e8ed);border-radius:6px;padding:0 9px;display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:600}.rcg .h3 .avl span i{font-style:normal;color:var(--g-mute,#6b7280);font-weight:500}
.rcg .h3 .live{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;color:var(--grn);margin-bottom:8px}.rcg .h3 .live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--grn);animation:hgblink 1.4s ease-in-out infinite}
.rcg .h3 .bts{display:flex;gap:6px}.rcg .h3 .hint{font-size:8.5px;color:var(--g-mute,#6b7280);margin-top:8px}.rcg .h3 .hint code{font-family:ui-monospace,Menlo,monospace;font-size:8px;background:var(--g-hi,#f3f4f6);padding:1px 4px;border-radius:3px}
.rcg .h3 .cur{animation:h3cur var(--t) cubic-bezier(.3,.7,.3,1) infinite}
@keyframes h3cur{0%,8.57%{opacity:0;left:300px;top:240px}14.29%{opacity:1;left:282px;top:196px}21.43%{left:282px;top:196px}22.14%{left:280px;top:194px}24.29%{left:282px;top:196px}35.71%{left:108px;top:256px}42.86%{left:108px;top:256px}43.57%{left:106px;top:254px}45.71%{left:108px;top:256px}57.14%{left:540px;top:300px}64.29%{left:540px;top:300px}65%{left:538px;top:298px}67.14%{left:540px;top:300px}71.43%{opacity:0;left:560px;top:320px}100%{opacity:0;left:560px;top:320px}}
/* ===== H4 Inventory (dark by default) ===== */
.rcg .hg.h4{--g-bg:#0f1115;--g-ink:#f4f5f7;--g-ink2:#c7ccd5;--g-mute:#9aa0ab;--g-mute2:#6b7280;--g-mute3:#4b5260;--g-line:#262b36;--g-soft:#1a1e26;--g-hi:rgba(255,255,255,.07);--g-bluetint:rgba(59,124,255,.18);--g-blueline:rgba(59,124,255,.4);--g-gtint:rgba(34,197,94,.14);--g-gline:rgba(34,197,94,.4);--g-rtint:rgba(239,68,68,.14);--g-rline:rgba(239,68,68,.4);--grn:#4ade80;--red:#f87171}
.rcg .h4 .flt{display:flex;gap:6px;align-items:center;margin-bottom:12px}.rcg .h4 .flt .srch{width:190px;height:30px}.rcg .h4 .flt .sel{height:30px}
.rcg .h4 .tbl .hd,.rcg .h4 .tbl .row{grid-template-columns:1.6fr 44px 84px 84px 84px 84px 90px 18px}
.rcg .h4 .brand{font-size:8.5px;font-weight:800;letter-spacing:.02em}.rcg .h4 .brand.m3{color:#ef4444}.rcg .h4 .brand.av{color:#ef4444;font-size:7px}.rcg .h4 .brand.xp{color:#fff}.rcg .h4 .brand.kp{color:#c7ccd5;border:1px solid #4b5260;padding:1px 3px;border-radius:2px;font-size:7px}
.rcg .h4 .dots{color:var(--g-mute,#9aa0ab);font-weight:800;letter-spacing:1px;text-align:center}
.rcg .h4 .row.hl::after{content:"";position:absolute;inset:0;background:var(--g-hi);opacity:0;animation:h4hl var(--t) linear infinite;pointer-events:none}@keyframes h4hl{0%,14.29%{opacity:0}17.14%,46.43%{opacity:1}53.57%,100%{opacity:0}}
.rcg .h4 .pop{left:470px;top:132px;width:262px;opacity:0;animation:h4pop var(--t) cubic-bezier(.2,.8,.2,1) infinite}@keyframes h4pop{0%,21.43%{opacity:0;transform:translateY(6px)}24.29%,40%{opacity:1;transform:none}42.86%,100%{opacity:0;transform:translateY(4px)}}
.rcg .h4 .pop .fr{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.rcg .h4 .pop .fr span{height:26px;border:1px solid var(--g-line);border-radius:6px;padding:0 8px;display:flex;align-items:center;font-size:9.5px;font-weight:600}.rcg .h4 .pop .fr span.s{grid-column:1/-1}.rcg .h4 .pop .fr span i{font-style:normal;color:var(--g-mute);font-weight:500;margin-right:6px}
.rcg .h4 .pop .bt{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}
.rcg .h4 .cur{animation:h4cur var(--t) cubic-bezier(.3,.7,.3,1) infinite}
@keyframes h4cur{0%,8.57%{opacity:0;left:740px;top:220px}14.29%{opacity:1;left:764px;top:158px}21.43%{left:764px;top:158px}22.14%{left:762px;top:156px}24.29%{left:764px;top:158px}32.86%{left:690px;top:264px}39.29%{left:690px;top:264px}40%{left:688px;top:262px}42.14%{left:690px;top:264px}47.14%{opacity:0;left:700px;top:290px}100%{opacity:0;left:700px;top:290px}}
/* ===== H5 Reports ===== */
.rcg .h5 .kps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.rcg .h5 .kpi{padding:9px 12px}.rcg .h5 .kpi .v{font-size:15px}
.rcg .h5 .ch{display:grid;grid-template-columns:1.7fr 1fr;gap:10px}.rcg .h5 .pnl{border:1px solid var(--g-line,#e6e8ed);border-radius:8px;padding:10px 12px;height:128px;position:relative;overflow:hidden}
.rcg .h5 .pnl .t{font-size:10.5px;font-weight:700}.rcg .h5 .pnl .s{font-size:8.5px;color:var(--g-mute,#6b7280);margin-top:1px}
.rcg .h5 .line{position:absolute;left:12px;right:12px;bottom:10px;height:78px}.rcg .h5 .line svg{width:100%;height:100%;overflow:visible}
.rcg .h5 .line .ax{stroke:var(--g-soft,#eef0f3);stroke-width:1;stroke-dasharray:2 3}
.rcg .h5 .line .ar{fill:var(--blue);opacity:0;animation:h5ar var(--t) ease-out infinite}@keyframes h5ar{0%,32.14%{opacity:0}39.29%,100%{opacity:.08}}
.rcg .h5 .line .ln{fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:600;stroke-dashoffset:600;animation:h5draw var(--t) cubic-bezier(.4,0,.3,1) infinite}@keyframes h5draw{0%,11.43%{stroke-dashoffset:600}35.71%,100%{stroke-dashoffset:0}}
.rcg .h5 .line .pt{fill:var(--g-bg,#fff);stroke:var(--blue);stroke-width:1.5}
.rcg .h5 .don{position:absolute;right:16px;top:12px;width:82px;height:82px}.rcg .h5 .don svg{transform:rotate(-90deg)}.rcg .h5 .don .bg{fill:none;stroke:var(--g-hi,#e6e8ed);stroke-width:12}.rcg .h5 .don .fg{fill:none;stroke:#22a565;stroke-width:12;stroke-dasharray:0 251.3;animation:h5don var(--t) cubic-bezier(.4,0,.3,1) infinite}@keyframes h5don{0%,14.29%{stroke-dasharray:0 251.3}35.71%,100%{stroke-dasharray:236 251.3}}
.rcg .h5 .don .c{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;font-weight:700}
.rcg .h5 .lg{position:absolute;left:12px;bottom:12px;display:grid;gap:5px;font-size:8.5px;color:var(--g-mute,#6b7280)}.rcg .h5 .lg span{display:flex;align-items:center;gap:6px}.rcg .h5 .lg i{width:7px;height:7px;border-radius:50%;background:#22a565}.rcg .h5 .lg i.d{background:var(--g-mute3,#d1d5db)}
.rcg .h5 .bars{position:absolute;left:12px;right:12px;bottom:10px;height:72px;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid var(--g-soft,#eef0f3)}.rcg .h5 .bars span{flex:1;position:relative;height:100%;display:flex;align-items:flex-end}.rcg .h5 .bars i{display:block;width:100%;border-radius:3px 3px 0 0;transform:scaleY(0);transform-origin:50% 100%}.rcg .h5 .bars em{position:absolute;left:0;right:0;bottom:-12px;font-size:7px;color:var(--g-mute,#6b7280);text-align:center;font-style:normal;white-space:nowrap}
.rcg .h5 .bars .b1{animation:h5b var(--t) cubic-bezier(.2,.8,.2,1) infinite}.rcg .h5 .bars .b2{animation:h5b2 var(--t) cubic-bezier(.2,.8,.2,1) infinite}.rcg .h5 .bars .b3{animation:h5b3 var(--t) cubic-bezier(.2,.8,.2,1) infinite}
@keyframes h5b{0%,39.29%{transform:scaleY(0)}47.14%,100%{transform:scaleY(1)}}@keyframes h5b2{0%,42.14%{transform:scaleY(0)}50%,100%{transform:scaleY(1)}}@keyframes h5b3{0%,45%{transform:scaleY(0)}52.86%,100%{transform:scaleY(1)}}
/* ===== H6 Data import ===== */
.rcg .h6 .lead{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--g-ink2,#3a3f4b);margin-bottom:12px}.rcg .h6 .lead span{font-size:9.5px;color:var(--g-mute,#6b7280)}
.rcg .h6 .grid{display:grid;grid-template-columns:1fr 330px;gap:14px}
.rcg .h6 .pnl{border:1px solid var(--g-line,#e6e8ed);border-radius:8px;padding:12px 14px;background:var(--g-bg,#fff)}
.rcg .h6 .prog{display:flex;justify-content:space-between;font-size:10.5px;font-weight:700;margin-bottom:8px}.rcg .h6 .prog span{font-weight:500;color:var(--g-mute,#6b7280)}
.rcg .h6 .bar{height:7px}.rcg .h6 .bar i{background:#1f9d55;transform:scaleX(.5);animation:h6bar var(--t) cubic-bezier(.2,.8,.2,1) infinite}@keyframes h6bar{0%,57.14%{transform:scaleX(.5)}62.86%,100%{transform:scaleX(.75)}}
.rcg .h6 .it{display:grid;grid-template-columns:18px 1fr 14px;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--g-soft,#f1f2f5)}.rcg .h6 .it:last-child{border-bottom:0}.rcg .h6 .it .ck{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--g-mute3,#d1d5db);display:grid;place-items:center}.rcg .h6 .it .ck.on{border-color:#1f9d55;background:#1f9d55}.rcg .h6 .it .ck svg{width:9px;height:9px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.rcg .h6 .it b{font-size:10.5px;font-weight:600;display:block}.rcg .h6 .it small{font-size:8.5px;color:var(--g-mute,#6b7280)}.rcg .h6 .it .ar{color:var(--g-mute2,#9aa0ab);font-size:12px}
.rcg .h6 .imp .h{display:flex;gap:10px;align-items:center;margin-bottom:8px}.rcg .h6 .imp .h .ic{width:24px;height:24px;border-radius:6px;background:var(--g-bluetint,rgba(27,100,243,.08));color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:12px}.rcg .h6 .imp .h b{font-size:11.5px;font-weight:700;display:block}.rcg .h6 .imp .h small{font-size:8.5px;color:var(--g-mute,#6b7280)}
.rcg .h6 .imp .lab{font-size:9px;color:var(--g-mute,#6b7280);margin-bottom:8px}
.rcg .h6 .pl{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.rcg .h6 .pl span{height:30px;border-radius:6px;background:var(--g-hi,#f3f4f6);display:flex;align-items:center;justify-content:center;gap:6px;font-size:9.5px;font-weight:600;border:1.5px solid transparent}.rcg .h6 .pl span i{width:10px;height:10px;border-radius:3px;background:var(--c,#999)}
.rcg .h6 .pl span.tw{animation:h6sel var(--t) step-end infinite}@keyframes h6sel{0%,21.43%{border-color:transparent;background:var(--g-hi,#f3f4f6)}21.79%,100%{border-color:var(--blue);background:var(--g-bluetint,rgba(27,100,243,.08))}}
.rcg .h6 .run{margin-top:10px;padding-top:10px;border-top:1px solid var(--g-soft,#f1f2f5)}.rcg .h6 .run .l{display:flex;justify-content:space-between;font-size:9.5px;font-weight:600;margin-bottom:6px}.rcg .h6 .run .l .sw{justify-items:end}
.rcg .h6 .run .bar i{transform:scaleX(0);animation:h6imp var(--t) linear infinite}@keyframes h6imp{0%,24.29%{transform:scaleX(0)}50%,100%{transform:scaleX(1)}}
.rcg .h6 .lock{display:flex;gap:10px;align-items:center;color:var(--g-mute2,#9aa0ab)}.rcg .h6 .lock .ic{width:24px;height:24px;border-radius:6px;background:var(--g-hi,#f3f4f6);display:grid;place-items:center}.rcg .h6 .lock .ic svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8}.rcg .h6 .lock b{font-size:11.5px;font-weight:700;display:block;color:inherit}.rcg .h6 .lock small{font-size:8.5px}
.rcg .h6 .lock.un{animation:h6un var(--t) step-end infinite}@keyframes h6un{0%,57.14%{color:var(--g-mute2,#9aa0ab)}57.5%,100%{color:var(--g-ink,#111318)}}
.rcg .h6 .cur{animation:h6cur var(--t) cubic-bezier(.3,.7,.3,1) infinite}
@keyframes h6cur{0%,8.57%{opacity:0;left:560px;top:260px}15.71%{opacity:1;left:506px;top:206px}21.43%{left:506px;top:206px}22.14%{left:504px;top:204px}24.29%{left:506px;top:206px}30%{opacity:0;left:520px;top:230px}100%{opacity:0;left:520px;top:230px}}
/* ===== H7 Material market ===== */
.rcg .h7 .flt{display:flex;gap:6px;margin-bottom:12px}.rcg .h7 .flt .srch{flex:1}
.rcg .h7 .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rcg .h7 .pnl{border:1px solid var(--g-line,#e6e8ed);border-radius:8px;overflow:hidden;height:128px;position:relative;background:var(--g-bg,#fff)}
.rcg .h7 .pnl .sw{display:block;height:56px;background:var(--g);position:relative}.rcg .h7 .pnl .sw::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.28) 48%,rgba(255,255,255,0) 60%)}
.rcg .h7 .pnl .tg2{position:absolute;left:6px;top:6px;display:flex;gap:4px}.rcg .h7 .pnl .tg2 span{height:14px;padding:0 5px;border-radius:4px;background:rgba(255,255,255,.92);font-size:7px;font-weight:700;color:#111;display:flex;align-items:center}.rcg .h7 .pnl .tg2 span.d{background:rgba(0,0,0,.7);color:#fff}
.rcg .h7 .pnl .bd{padding:7px 9px}.rcg .h7 .pnl .n{font-size:9.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rcg .h7 .pnl .s{font-size:8px;color:var(--g-mute,#6b7280);margin-top:1px}
.rcg .h7 .pnl .pr{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;font-size:8px;color:var(--g-mute,#6b7280)}.rcg .h7 .pnl .pr b{font-size:10.5px;color:var(--g-ink,#111318)}
.rcg .h7 .pnl .ft{display:flex;justify-content:space-between;margin-top:5px;padding-top:5px;border-top:1px solid var(--g-soft,#f1f2f5);font-size:7.5px;color:var(--g-mute,#6b7280)}.rcg .h7 .pnl .ft b{color:var(--g-ink,#111318)}
.rcg .h7 .slot{position:relative;height:128px}.rcg .h7 .slot .pnl{position:absolute;inset:0}
.rcg .h7 .ph{border:1.5px dashed var(--g-mute3,#d1d5db);border-radius:8px;position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:4px;text-align:center;color:var(--g-mute,#6b7280);font-size:9px;padding:10px}.rcg .h7 .ph b{font-size:10px;color:var(--g-ink2,#3a3f4b)}
.rcg .h7 .grid .pnl.nw{box-shadow:0 0 0 2px var(--blue);}
.rcg .h7 .cur{animation:h7cur var(--t) cubic-bezier(.3,.7,.3,1) infinite}
@keyframes h7cur{0%,8.57%{opacity:0;left:640px;top:120px}15.71%{opacity:1;left:730px;top:36px}21.43%{left:730px;top:36px}22.14%{left:728px;top:34px}24.29%{left:730px;top:36px}30%{opacity:0;left:720px;top:60px}100%{opacity:0;left:720px;top:60px}}
/* dark tokens */
html[data-theme="dark"] .rcg .hg{--g-bg:#141821;--g-ink:#f4f5f7;--g-ink2:#c7ccd5;--g-mute:#9aa0ab;--g-mute2:#6b7280;--g-mute3:#4b5260;--g-line:#262b36;--g-soft:#1c1f26;--g-hi:rgba(255,255,255,.07);--g-bluetint:rgba(59,124,255,.18);--g-blueline:rgba(59,124,255,.4);--g-gtint:rgba(34,197,94,.14);--g-gline:rgba(34,197,94,.4);--g-rtint:rgba(239,68,68,.14);--g-rline:rgba(239,68,68,.4);--g-otint:rgba(249,115,22,.14);--g-oline:rgba(249,115,22,.4);--g-ptint:rgba(124,58,237,.16);--g-pline:rgba(124,58,237,.4);--g-putint:rgba(124,58,237,.18);--g-pktint:rgba(219,39,119,.16);--g-tltint:rgba(8,145,178,.18);--grn:#4ade80;--red:#f87171;--org:#fbbf24;--pur:#a78bfa}
html[data-theme="dark"] .rcg .hg :is(.toast,.pop){box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 20px 40px -18px rgba(0,0,0,.6)}

