/* DISPETCH V15 */
html:root:root:root:root:root:root:root:root:root:root:root body .gp.chat:not(.tb-chc) .ch-in,
html:root:root:root:root:root:root:root:root:root:root:root body .gp.chat .tb-gf,
html:root:root:root:root:root:root:root:root:root:root:root body .gp.mx .mx-bar {
  position:relative!important;z-index:4!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:4px!important;
  box-sizing:border-box!important;width:auto!important;min-width:0!important;max-width:none!important;min-height:58px!important;height:auto!important;
  margin:8px 8px calc(max(8px,max(var(--sab,0px),env(safe-area-inset-bottom,0px)) + 6px))!important;
  padding:5px 7px!important;background:#fffdf8!important;background-color:#fffdf8!important;background-image:none!important;
  border:3px solid #111!important;border-top:3px solid #111!important;border-radius:20px!important;box-shadow:4px 4px 0 #111!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;overflow:visible!important;transform:none!important;
}
html:root:root:root:root:root:root:root:root:root:root:root body .gp.tb-chc .tb-comp:not(.fol){padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
html:root:root:root:root:root:root:root:root:root:root:root body .gp.tb-chc .tb-comp:not(.fol) .tb-cbx {
  position:relative!important;display:flex!important;flex:0 0 auto!important;align-items:center!important;gap:4px!important;box-sizing:border-box!important;
  min-width:0!important;min-height:58px!important;margin:8px 8px calc(max(8px,max(var(--sab,0px),env(safe-area-inset-bottom,0px)) + 6px))!important;
  padding:5px 7px!important;background:#fffdf8!important;border:3px solid #111!important;border-radius:20px!important;box-shadow:4px 4px 0 #111!important;
}
html:root:root:root:root:root:root:root:root:root:root:root body :is(.gp.chat,.gp.mx) :is(.tb-gf input,.tb-cbx input,.mx-field textarea,.mx-bar textarea),
html:root:root:root:root:root:root:root:root:root:root:root body :is(.gp.chat,.gp.mx) :is(.tb-gf input,.tb-cbx input,.mx-field textarea,.mx-bar textarea):focus {
  flex:1 1 auto!important;width:0!important;min-width:40px!important;max-width:100%!important;min-height:42px!important;height:42px!important;
  margin:0!important;padding:9px 3px!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;
  background:transparent!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;outline:0!important;
  color:#17130d!important;-webkit-text-fill-color:#17130d!important;font-family:inherit!important;font-size:14px!important;font-style:normal!important;
  font-weight:400!important;line-height:22px!important;letter-spacing:.015em!important;text-align:left!important;resize:none!important;
}
html:root:root:root:root:root:root:root:root:root:root:root body :is(.gp.chat,.gp.mx) :is(.tb-gf input,.tb-cbx input,.mx-field textarea,.mx-bar textarea)::placeholder {
  color:#625c52!important;-webkit-text-fill-color:#625c52!important;opacity:.78!important;font-family:inherit!important;font-size:14px!important;
  font-style:normal!important;font-weight:400!important;letter-spacing:.015em!important;text-align:left!important;
}
html:root:root:root:root:root:root:root:root:root:root:root body :is(.gp.chat,.gp.mx) :is(.tb-gf .tb-send,.tb-comp .tb-send,.tb-cb,.mx-side,.mx-act) {
  display:grid!important;place-items:center!important;align-self:center!important;flex:0 0 38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:42px!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;background-color:transparent!important;background-image:none!important;
  color:#ed4b66!important;-webkit-text-fill-color:#ed4b66!important;box-shadow:none!important;outline:0!important;line-height:0!important;opacity:1!important;transform:none!important;
}
html:root:root:root:root:root:root:root:root:root:root:root body :is(.gp.chat,.gp.mx) :is(.tb-gf .tb-send,.tb-comp .tb-send,.tb-cb,.mx-side,.mx-act) svg {width:22px!important;height:22px!important;stroke:currentColor!important;fill:none!important}
html:root:root:root:root:root:root:root:root:root:root:root body :is(.gp.chat,.gp.mx) :is(.tb-gf .tb-send,.tb-comp .tb-send,.tb-cb,.mx-side,.mx-act):active {transform:translate3d(1px,1px,0) scale(.96)!important;box-shadow:none!important}
html:root:root:root:root:root:root:root:root:root:root:root body .gp.tb-chc .tb-cbx input#tbCt2{min-width:0!important;padding:9px 2px!important}
html:root:root:root:root:root:root:root:root:root:root:root body .gp.chat .tb-caudio-wrap{display:flex;flex-direction:column;gap:5px;max-width:100%;margin:5px 0 8px}
html:root:root:root:root:root:root:root:root:root:root:root body .gp.chat .tb-caudio-label{font-size:12px;font-weight:600;opacity:.75}
html:root:root:root:root:root:root:root:root:root:root:root body .gp.chat audio.tb-caudio{display:block;width:min(280px,calc(100vw - 100px));max-width:100%;height:40px;min-height:40px;margin:0}
html:root:root:root:root:root:root:root:root:root:root:root body .gp.chat .tb-bub-audio{min-width:220px}

html:root:root:root:root:root:root:root:root:root:root:root body .gp.mx .mx-field{flex:1 1 auto!important;min-width:0!important;min-height:42px!important;height:42px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;outline:0!important}
html:root:root:root:root:root:root:root:root:root:root:root body .gp.mx .mx-field textarea{width:100%!important}

html:root:root:root:root:root:root:root:root:root:root:root body .gp.tb-chc .tb-cbx .pro-rec{color:#17130d!important}
html:root:root:root:root:root:root:root:root:root:root:root body .gp.tb-chc .tb-cbx .pro-wv i{background:#ed4b66!important;filter:none!important}
html:root:root:root:root:root:root:root:root:root:root:root body .gp.tb-chc .tb-cbx .pro-tm{color:#17130d!important;text-shadow:none!important}

/* ---- sheet [+] ringkas (grid) ---- */
html:root:root:root:root:root:root:root:root:root:root:root body .mv-sheet{max-height:52vh!important;padding:6px 14px calc(14px + max(var(--sab,0px),env(safe-area-inset-bottom,0px)))!important;border-radius:22px 22px 0 0!important}
html:root:root:root:root:root:root:root:root:root:root:root body .mv-grab{margin:2px auto 8px!important}
html:root:root:root:root:root:root:root:root:root:root:root body .mv-hint{display:none!important}
html:root:root:root:root:root:root:root:root:root:root:root body .mv-sheet .v14-list{display:grid!important;grid-template-columns:repeat(3,1fr);gap:4px}
html:root:root:root:root:root:root:root:root:root:root:root body .mv-it{flex-direction:column!important;justify-content:flex-start;gap:5px!important;padding:8px 2px!important;font-size:12px!important;letter-spacing:.01em!important;text-align:center!important}
html:root:root:root:root:root:root:root:root:root:root:root body .mv-ic{width:46px!important;height:46px!important}
html:root:root:root:root:root:root:root:root:root:root:root body .mv-ic svg{width:22px!important;height:22px!important}
html:root:root:root:root:root:root:root:root:root:root:root body .mv-it span.t{align-items:center}

/* ---- halaman preview: bar sama dengan composer chat ---- */
html:root:root:root:root:root:root:root:root:root:root:root body .mp-bar{margin:8px 8px calc(max(8px,max(var(--sab,0px),env(safe-area-inset-bottom,0px)) + 6px))!important;padding:5px 7px!important;gap:4px!important;min-height:58px;
  background:#fffdf8!important;border:3px solid #111!important;border-radius:20px!important;box-shadow:4px 4px 0 #111!important;box-sizing:border-box}
html:root:root:root:root:root:root:root:root:root:root:root body .mp-cap{height:42px!important;box-sizing:border-box!important;margin:0!important;border:0!important;outline:0!important;padding:9px 3px!important;border-radius:0!important;background:transparent!important;color:#17130d!important;font-size:14px!important;line-height:22px!important;letter-spacing:.015em!important;font-family:inherit!important}
html:root:root:root:root:root:root:root:root:root:root:root body .mp-cap::placeholder{color:#625c52!important;opacity:.78!important;font-size:14px!important;letter-spacing:.015em!important}
html:root:root:root:root:root:root:root:root:root:root:root body .mp-send{width:38px!important;box-sizing:border-box!important;padding:0!important;height:42px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#ed4b66!important}
html:root:root:root:root:root:root:root:root:root:root:root body .mp-send svg{width:22px!important;height:22px!important}

/* ---- bar lampiran di atas input: tanpa background ---- */
html:root:root:root:root:root:root:root:root:root:root:root body .ch-pv{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;padding:6px 14px 0!important}
html:root:root:root:root:root:root:root:root:root:root:root body .ch-pv .tx b,html:root:root:root:root:root:root:root:root:root:root:root body .ch-pv .tx small{text-shadow:none}

/* ---- react saluran tampil ---- */
html:root:root:root:root:root:root:root:root:root:root:root body .gp.chat.tb-chc .tb-bub .tb-rxr{display:flex!important}

/* ---- tanpa progressbar/ spinner saat upload status & tanpa indikator tarik-refresh ---- */
html.v15-st:root:root:root:root:root:root:root:root:root:root body #tbTabProgress,
html.v15-st:root:root:root:root:root:root:root:root:root:root body .tb-tab-progress{display:none!important}
html:root:root:root:root:root:root:root:root:root:root:root body .tb-sring .tb-spin{display:none!important}
#ptr{display:none!important}

/* ---- overlay progressbar saat chat dibuka ---- */
.v15-load{position:absolute;left:0;right:0;bottom:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--paper,#fff1d6);transition:opacity .22s ease}
.v15-load.out{opacity:0;pointer-events:none}
.v15-load span{font-size:13px;color:#17130d;opacity:.75}
.v15-bar{width:56%;max-width:240px;height:12px;border:3px solid #111;border-radius:99px;background:#fffdf8;overflow:hidden}
.v15-bar i{display:block;height:100%;width:40%;background:#ffd83d;border-right:3px solid #111;animation:v15bar 1.1s ease-in-out infinite}
@keyframes v15bar{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
