/* ===== Interactive demos ===== */
.demo{background:linear-gradient(180deg,var(--bg),var(--bg2) 30%,var(--bg))}
.tabs{display:flex;gap:8px;margin:44px 0 22px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;padding:11px 20px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:600 14px var(--font-d);cursor:pointer;transition:all .25s;white-space:nowrap}
.tab .tn{opacity:.5;margin-right:4px;font-weight:500}
.tab:hover{color:#fff}
.tab.on{background:#fff;color:#0b0914;border-color:#fff}
.stage{position:relative;border-radius:28px;border:1px solid var(--line);background:var(--card);overflow:hidden;box-shadow:0 60px 120px -50px rgba(119,61,250,.45)}
.stage .bar{display:flex;align-items:center;gap:8px;padding:12px 14px 12px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
.stage .bar i{width:11px;height:11px;border-radius:50%;background:#3a3550;flex:none}
.stage .bar span{margin-left:10px;font-size:12.5px;color:var(--dim);font-family:ui-monospace,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reset{margin-left:auto;flex:none;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--muted);font:500 12px var(--font-b);padding:6px 12px;border-radius:99px;cursor:pointer}
.reset:hover{color:#fff}
.pane{display:none;padding:24px 28px 28px;position:relative}
.pane.on{display:block;animation:fade .5s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}}
.hint{font-size:14px;color:var(--muted);margin-bottom:20px;padding:10px 14px;border-radius:12px;background:rgba(119,61,250,.08);border:1px solid rgba(164,130,252,.18)}
.hint b{color:#d6c8ff}
.note{font-size:12.5px;color:var(--dim);margin-top:18px;font-style:italic;text-align:center}
.muted{color:var(--dim);font-size:13px}
button{font-family:inherit}

/* mini phone (shared) */
.mini-phone{border-radius:30px;padding:8px;background:linear-gradient(160deg,#2a2440,#0d0b15);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);display:flex;flex-direction:column;height:560px}
.mini-phone>*{border-radius:0}
.mp-top{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#1f2c34;border-radius:22px 22px 0 0}
.mp-top .av{width:32px;height:32px;border-radius:50%;background:var(--violet);display:grid;place-items:center;flex:none}
.mp-top .av img{width:18px}
.mp-top b{font-size:14px;display:block;line-height:1.2}
.mp-top small{font-size:11.5px;color:#8696a0}
.mp-msgs{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:6px;background:#0b141a;scrollbar-width:thin}
.mini-phone .mp-msgs:last-child{border-radius:0 0 22px 22px}
.mp-empty{margin:auto;text-align:center;color:#55636c;font-size:12.5px;padding:20px}
.mp-input{background:#0b141a;border-radius:0 0 22px 22px;padding:8px 10px 12px;display:flex;flex-wrap:wrap;gap:6px;min-height:52px;align-items:center;border-top:1px solid rgba(255,255,255,.05)}
.mp-input .lbl{width:100%;font-size:11px;color:#6b7b85}
.choice{flex:1 1 auto;padding:9px 12px;border-radius:12px;border:1px solid rgba(164,130,252,.45);background:rgba(119,61,250,.16);color:#e5dcff;font-size:13px;font-weight:600;cursor:pointer;transition:transform .15s,background .2s;animation:pop .35s ease both}
.choice:hover{background:rgba(119,61,250,.32)}
.choice:active{transform:scale(.96)}
.choice.star{flex:0 0 auto;font-size:18px;padding:6px 10px;border-color:rgba(252,209,22,.4);background:rgba(252,209,22,.08)}
@keyframes pop{from{opacity:0;transform:translateY(6px) scale(.95)}}
.m{max-width:84%;min-width:58px;padding:7px 10px 16px;border-radius:10px;font-size:13px;line-height:1.42;position:relative;animation:pop .35s ease both;word-wrap:break-word}
.m time{position:absolute;right:8px;bottom:3px;font-size:9.5px;color:rgba(255,255,255,.45)}
.m .tag{display:block;font-size:10.5px;font-weight:600;color:var(--violet2);margin-bottom:1px}
.m.in{background:#202c33;align-self:flex-start;border-top-left-radius:3px}
.m.out{background:#005c4b;align-self:flex-end;border-top-right-radius:3px}
.m.bot{background:#2a2147;border:1px solid rgba(164,130,252,.25)}
.m.sys{align-self:center;background:rgba(255,255,255,.06);color:#9aa7b0;font-size:11px;padding:4px 10px;border-radius:8px}
.m.note-i{align-self:center;background:rgba(252,209,22,.08);border:1px dashed rgba(252,209,22,.45);color:#f6e08b;font-size:11.5px;padding:6px 10px}
.m.link{color:#53bdeb;text-decoration:underline}
.typing{align-self:flex-start;background:#202c33;border-radius:10px;padding:9px 12px;display:flex;gap:4px}
.typing i{width:6px;height:6px;border-radius:50%;background:#8696a0;animation:blink 1.2s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
.typing.r{align-self:flex-end}

/* bot + desk */
.bot-grid{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:stretch}
.desk{display:grid;grid-template-columns:230px 1fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--bg2);height:560px}
.desk-side{border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.qtabs{display:flex;border-bottom:1px solid var(--line)}
.qtabs button{flex:1;background:none;border:0;color:var(--dim);font-size:11.5px;padding:12px 2px;cursor:pointer;white-space:nowrap}
.qtabs button.on{color:#fff;box-shadow:inset 0 -2px var(--violet)}
.qtabs em{font-style:normal;display:inline-block;min-width:16px;padding:0 4px;border-radius:8px;background:rgba(255,255,255,.08);font-size:10px;margin-left:2px}
.qtabs button.on em{background:var(--violet)}
.tk-list{flex:1;overflow-y:auto}
.empty{padding:22px 14px;color:var(--dim);font-size:12.5px;text-align:center}
.tk{display:flex;gap:10px;padding:12px;border-bottom:1px solid var(--line);font-size:12px;cursor:pointer;transition:background .2s;animation:pop .35s ease both}
.tk:hover{background:rgba(255,255,255,.03)}
.tk.act{background:rgba(119,61,250,.13)}
.tk .a{width:32px;height:32px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:600;font-size:12px;background:#3b2a73}
.tk .i{min-width:0;flex:1}
.tk b{display:block;font-size:12.5px}
.tk small{color:var(--dim);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qbadge{font-size:10px;padding:1px 7px;border-radius:6px;margin-top:4px;display:inline-block;background:rgba(37,211,102,.15);color:#4be38a}
.qbadge.sop{background:rgba(79,195,247,.15);color:#7fd3fb}
.qbadge.age{background:rgba(252,209,22,.15);color:#f6dd6c}
.tk .accept{margin-top:8px;display:block;width:100%;padding:7px;border-radius:9px;border:0;background:var(--wa);color:#05361a;font-weight:700;font-size:12px;cursor:pointer;animation:glowp 1.6s infinite}
@keyframes glowp{50%{box-shadow:0 0 0 5px rgba(37,211,102,.18)}}
.desk-main{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
.desk-empty{margin:auto;text-align:center;padding:30px;color:var(--dim);font-size:13.5px;max-width:300px}
.desk-empty img{width:44px;margin:0 auto 14px;opacity:.35}
.dm-hd{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}
.dm-hd small{color:var(--dim);display:block}
.dm-hd .resolve{padding:7px 14px;border-radius:9px;border:1px solid rgba(37,211,102,.4);background:rgba(37,211,102,.1);color:#4be38a;font-size:12px;font-weight:600;cursor:pointer;flex:none}
.dm-hd .resolve:disabled{opacity:.35;cursor:default}
.dm-msgs{flex:1;min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:6px}
.dm-tools{padding:10px 12px 12px;border-top:1px solid var(--line)}
.dm-tools .lbl{font-size:11px;color:var(--dim);margin-bottom:6px;display:flex;justify-content:space-between}
.qr{display:flex;flex-wrap:wrap;gap:6px}
.qr button{padding:7px 11px;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#ddd6f3;font-size:12px;cursor:pointer;animation:pop .3s ease both}
.qr button:hover{border-color:var(--violet2);background:rgba(119,61,250,.15)}
.qr button kbd{font-family:ui-monospace,monospace;color:var(--violet2);margin-right:4px}
.qr button.note{border-style:dashed;border-color:rgba(252,209,22,.4);color:#f6e08b}
.qr button.xfer{border-color:rgba(79,195,247,.4);color:#9fdcfb}
.stars-got{color:var(--co-y);letter-spacing:2px}

/* CRM */
.crm-grid{display:grid;grid-template-columns:1fr 260px;gap:18px;align-items:start}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;min-width:0}
.col{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:10px;min-height:380px;transition:border-color .2s,background .2s;display:flex;flex-direction:column;gap:8px}
.col.over{border-color:var(--violet2);background:rgba(119,61,250,.08)}
.col h5{font:600 12px var(--font-d);display:flex;align-items:center;gap:8px;color:#d9d5e6;padding:2px 2px 4px}
.col h5 em{font-style:normal;color:var(--dim);margin-left:auto}
.col h5::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.col .sum{font-size:10.5px;color:var(--dim);margin:-6px 2px 2px}
.kc{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:10px 11px;font-size:12px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:manipulation;transition:transform .2s,box-shadow .2s,border-color .2s,opacity .2s}
.kc:hover{border-color:rgba(164,130,252,.4)}
.kc b{display:block;font-size:12.5px;margin-bottom:3px;line-height:1.3}
.kc .val{font:600 12px var(--font-d);color:#cbb8ff}
.kc .meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;color:var(--dim);font-size:10.5px;margin-top:4px}
.kc .hot{color:#ff8a65}
.kc.dragging{opacity:.35}
.kc.ghost{position:fixed;z-index:999;pointer-events:none;transform:rotate(3deg) scale(1.04);box-shadow:0 24px 50px -10px rgba(119,61,250,.7);border-color:var(--violet2);opacity:1}
.kc.flash{animation:flash 1s ease}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(37,211,102,.7)}100%{box-shadow:0 0 0 14px rgba(37,211,102,0)}}
.crm-side{display:grid;gap:12px}
.crm-side>div{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:14px}
.crm-side h6{font:600 11px var(--font-d);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.goal-h{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px}
.goal-h b{font-family:var(--font-d)}
.goal-bar{height:8px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden;margin-bottom:8px}
.goal-bar i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--violet),var(--wa));transition:width .8s cubic-bezier(.2,.8,.2,1)}
.goal small{color:var(--muted);font-size:12px}
.attn ul,.autolog ul{list-style:none;display:grid;gap:6px}
.attn li{font-size:12px;padding:7px 10px;border-radius:9px;background:rgba(255,138,101,.08);border:1px solid rgba(255,138,101,.25);color:#ffb59c;animation:pop .3s ease both}
.attn li.ok{background:rgba(37,211,102,.08);border-color:rgba(37,211,102,.3);color:#7be6a6}
.autolog li{font-size:12px;color:#ddd6f3;padding-left:12px;border-left:2px solid var(--violet2);animation:pop .3s ease both}
.autolog li small{display:block;color:var(--dim)}
.sheet{position:absolute;inset:0;background:rgba(7,6,13,.7);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:5;padding:20px}
.sheet[hidden]{display:none}
.sheet-card{width:min(340px,100%);background:var(--card2);border:1px solid var(--line);border-radius:18px;padding:18px;animation:pop .25s ease}
.sheet-card>b{font:600 15px var(--font-d);display:block;margin-bottom:12px}
.sheet-opts{display:grid;gap:8px}
.sheet-opts button{text-align:left;padding:11px 14px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#fff;font-size:13.5px;cursor:pointer;display:flex;align-items:center;gap:10px}
.sheet-opts button::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c,#888)}
.sheet-opts button:hover{border-color:var(--violet2)}
.sheet-opts button.plain::before{display:none}
.sheet-x{margin-top:12px;width:100%;padding:10px;border-radius:11px;border:0;background:transparent;color:var(--muted);cursor:pointer}

/* Agenda */
.ag-grid{display:grid;grid-template-columns:1fr 280px;gap:22px;align-items:start}
.ag-flow{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:20px;min-height:460px}
.ag-steps{list-style:none;display:flex;gap:6px;margin-bottom:22px;counter-reset:s}
.ag-steps li{flex:1;font-size:11.5px;color:var(--dim);padding-top:10px;border-top:3px solid rgba(255,255,255,.08);counter-increment:s;transition:all .3s;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-steps li::before{content:counter(s) ". "}
.ag-steps li.on{color:#fff;border-color:var(--violet)}
.ag-steps li.done{color:var(--muted);border-color:var(--violet2)}
.ag-body h4{font-size:19px;margin-bottom:14px}
.ag-body{animation:fade .35s ease}
.opt-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.opt{text-align:left;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:#fff;cursor:pointer;transition:all .2s;display:flex;gap:12px;align-items:center}
.opt:hover{border-color:var(--violet2);background:rgba(119,61,250,.1);transform:translateY(-2px)}
.opt .oi{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:600;font-size:13px;background:rgba(119,61,250,.2);color:#d6c8ff}
.opt b{display:block;font-size:14px}
.opt small{color:var(--dim);font-size:12px}
.daysel{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px}
.daysel button{padding:8px 0;border-radius:11px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;font-size:11px;line-height:1.3}
.daysel button b{display:block;font:600 16px var(--font-d);color:#fff}
.daysel button.on{background:#fff;color:#000;border-color:#fff}
.daysel button.on b{color:#000}
.daysel button:disabled{opacity:.3;cursor:default}
.slotsel{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}
.slotsel button{padding:10px 0;border-radius:10px;border:1px solid var(--line);background:transparent;color:#fff;font-size:13px;cursor:pointer;transition:all .2s}
.slotsel button:hover:not(:disabled){border-color:var(--violet2)}
.slotsel button:disabled{opacity:.25;text-decoration:line-through;cursor:default}
.form-g{display:grid;gap:12px;max-width:420px}
.fld{display:grid;gap:6px;font-size:13px;color:var(--muted)}
.fld input[type=text],.fld input[type=tel],.fld select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font:15px var(--font-b);outline:none}
.fld input:focus,.fld select:focus{border-color:var(--violet2)}
.fld select option{background:#1b1729}
.summary{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line);font-size:13px;color:var(--muted);margin-bottom:14px}
.summary b{color:#fff}
.ag-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.btn.sm{padding:11px 18px;font-size:14px}
.back{background:none;border:0;color:var(--muted);cursor:pointer;font-size:13px;padding:0;margin-bottom:12px}
.back:hover{color:#fff}
.done-ok{text-align:center;padding:20px 10px}
.done-ok .ck{width:64px;height:64px;border-radius:50%;background:var(--wa);display:grid;place-items:center;margin:0 auto 16px;font-size:30px;color:#053;animation:pop .4s ease}
.done-ok p{color:var(--muted);font-size:14px;max-width:380px;margin:6px auto 0}
.mybook{margin-top:20px;text-align:left;padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}
.mybook small{color:var(--dim);display:block}
.mini-phone.small{height:460px}

/* Campaigns */
.cp-grid{display:grid;grid-template-columns:320px 1fr;gap:22px;align-items:start}
.cp-config{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;gap:16px}
.cp-config .fld>span small{color:var(--dim)}
.vars,.days-t{display:flex;gap:6px;flex-wrap:wrap}
.vars button,.days-t button{padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12.5px;cursor:pointer;transition:all .2s}
.days-t{flex-wrap:nowrap}
.days-t button{flex:1 1 0;padding:8px 0;min-width:0}
.vars button.on,.days-t button.on{background:rgba(119,61,250,.22);border-color:var(--violet2);color:#fff}
input[type=range]{width:100%;accent-color:var(--violet)}
.chk{display:flex;align-items:center;gap:10px;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--violet)}
.cp-go{justify-content:center;width:100%}
.cp-go.stop{background:rgba(255,255,255,.08);box-shadow:none}
.cp-config.locked .fld{opacity:.5;pointer-events:none}
.cp-live{min-width:0}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.kpi{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:12px}
.kpi small{color:var(--dim);font-size:11px;display:block}
.kpi b{font:700 22px var(--font-d)}
.cp-prog{height:6px;border-radius:9px;background:rgba(255,255,255,.06);overflow:hidden;margin-bottom:16px}
.cp-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--violet),var(--wa));transition:width .3s}
.cp-two{display:grid;grid-template-columns:1fr 250px;gap:16px}
.cyc{position:relative;padding:4px 0 0 24px;max-height:400px;overflow-y:auto}
.cyc::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:var(--line)}
.ce{position:relative;margin-bottom:12px;font-size:12.5px;animation:pop .35s ease both}
.ce::before{content:"";position:absolute;left:-22px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--c,var(--violet));box-shadow:0 0 0 4px var(--card)}
.ce b{display:block}
.ce small{color:var(--dim)}
.cyc .muted{margin-left:-24px}
.cp-two .mini-phone.small{height:400px}

/* ===== Responsive demos ===== */
@media(max-width:1080px){
  .bot-grid{grid-template-columns:270px 1fr}
  .desk{grid-template-columns:190px 1fr}
  .crm-grid{grid-template-columns:1fr}
  .crm-side{grid-template-columns:repeat(3,1fr)}
  .kanban{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;padding-bottom:8px}
  .cp-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .pane{padding:16px}
  .bot-grid{grid-template-columns:1fr}
  .mini-phone{height:440px;max-width:380px;width:100%;margin:0 auto}
  .desk{height:auto;grid-template-columns:1fr;min-height:0}
  .desk-side{border-right:0;border-bottom:1px solid var(--line)}
  .tk-list{max-height:200px}
  .desk-main{min-height:360px}
  .dm-msgs{max-height:300px}
  .crm-side{grid-template-columns:1fr}
  .kanban{display:flex;flex-direction:column;overflow:visible}
  .col{min-height:0}
  .ag-grid{grid-template-columns:1fr}
  .ag-steps li{font-size:0;padding-top:8px}
  .ag-steps li::before{font-size:11.5px}
  .ag-steps li.on{font-size:11.5px;flex:2.4}
  .mini-phone.small{height:360px}
  .cp-two{grid-template-columns:1fr}
  .cp-two .mini-phone.small{height:340px}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .stage{border-radius:20px}
}
@media(max-width:480px){
  .hint{font-size:13px}
  .opt-list{grid-template-columns:1fr}
  .daysel button{font-size:10px}
  .daysel button b{font-size:14px}
}
