.boot{height:100dvh;display:grid;place-items:center}
.hint{font-size:12.5px;color:var(--ink-3);font-weight:400}
.link{color:var(--kohl);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.fail{color:var(--bad)}
.plus{color:var(--sold)}
.nowrap{white-space:nowrap}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}
.err{color:var(--bad);font-size:13px;font-weight:500}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px}
.row-gap{display:flex;gap:8px;flex-wrap:wrap}
.stack{display:flex;flex-direction:column;gap:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid2 input{height:44px;padding:0 12px;border-radius:var(--r-2);border:1px solid var(--rule-2);background:var(--sheet);width:100%}
ul.plain{margin:0;padding-left:18px}
.btn.mini{min-height:32px;padding:0 10px;font-size:12.5px}
.btn.danger{color:var(--bad)}
.btn.confirming{background:var(--bad)!important;color:#fff!important}
.spin{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:sp .7s linear infinite;display:inline-block}
@keyframes sp{to{transform:rotate(360deg)}}
.banner{display:flex;gap:10px;align-items:flex-start;padding:10px 16px;background:var(--lamp-wash);color:var(--lamp);font-size:13px;border-bottom:1px solid var(--rule)}
.banner b{font-weight:650}
.banner .ic{flex:none;margin-top:1px}
.banner.quiet{background:var(--sunk);color:var(--ink-2)}
.page .banner{border-radius:var(--r-3);margin:16px auto 0;max-width:1080px;border:0}
.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink-3);margin-left:8px;vertical-align:middle;opacity:.5}
.live.on{background:var(--sold);opacity:1;box-shadow:0 0 0 3px var(--sold-wash)}
.flag{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--bad);color:#fff;font-size:11px;font-weight:700}
.typing-line{color:var(--agent-ink);font-style:normal}
.skel{padding:12px 16px;display:flex;flex-direction:column;gap:14px}
.skrow{height:44px;border-radius:12px;background:linear-gradient(90deg,var(--sunk),var(--sheet-2),var(--sunk));background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{to{background-position:-200% 0}}
.page-loading{max-width:1080px;margin:40px auto;padding:0 40px;display:flex;flex-direction:column;gap:16px}
.page-loading .skrow{height:80px}
.side-close{display:flex;justify-content:flex-end;margin:-8px -8px 0}
@media (min-width:1181px){.side-close{display:none}}
.side-acts{display:flex;gap:4px;flex-wrap:wrap;margin-top:10px}
.side .kv dd{max-width:180px;overflow-wrap:anywhere}
.ordermini{width:100%;text-align:left;background:var(--sheet)}
.older{align-self:center;margin-bottom:8px}
.msgs .photo{width:auto;height:auto;max-width:240px;display:block;border-radius:14px;overflow:hidden;background:none}
.msgs .photo img{display:block;width:100%;max-height:300px;object-fit:cover}
.audio audio{width:240px;height:36px}
.m .by .fail{color:var(--bad);font-weight:600}
.attach{cursor:pointer}
.noimg{display:grid;place-items:center;width:100%;height:100%;color:var(--ink-3)}
.noimg .ic{width:36px;height:36px;opacity:.5}
.pcard .img img,.prod .img img{width:100%;height:100%;object-fit:cover;display:block}
.prod.off{opacity:.55}
.statemark.wait{color:var(--lamp);background:var(--lamp-wash)}
.receipt.wide{width:100%}
.receipt.quote .top{background:var(--agent-wash);color:var(--agent-ink)}
.quick.pad{padding:8px 12px 12px;justify-content:flex-start}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center}
.search.boxed{flex:1;min-width:220px;background:var(--sheet);border:1px solid var(--rule)}
.tablecard{overflow:hidden}
.cardhead{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--rule)}
.cardhead b{font-family:var(--display);font-size:var(--fs-l)}
.cardfoot{padding:14px 18px;border-top:1px solid var(--rule)}
.card.pad,.pad{padding:20px}
.empty.pad{padding:48px 20px}
.head-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.h3{font-size:var(--fs-l);margin-bottom:12px}
.setgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;align-items:start}
.chrow{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule)}
.chrow > div{flex:1;min-width:0}
.msg-ic{color:#3A6FF0}
pre.code{margin:12px 0;padding:12px;border-radius:10px;background:var(--sunk);font-size:12px;white-space:pre-wrap;word-break:break-all;font-family:ui-monospace,Menlo,monospace}
.imgrow{display:flex;gap:8px;flex-wrap:wrap}
.thumb{position:relative;width:72px;height:80px;border-radius:10px;overflow:hidden;background:var(--sunk);display:grid;place-items:center}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb i{position:absolute;left:4px;bottom:4px;font-style:normal;font-size:11px;background:var(--sheet);border-radius:6px;padding:0 4px}
.thumb button{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center}
.thumb button .ic{width:14px;height:14px}
.thumb.add{border:1.5px dashed var(--rule-2);background:var(--sheet);cursor:pointer;color:var(--ink-3)}
.check{display:flex;gap:8px;align-items:center;font-size:13.5px;font-weight:500}
.check input{width:18px;height:18px;accent-color:var(--kohl)}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg label{display:flex;gap:6px;align-items:center;padding:8px 12px;border:1px solid var(--rule-2);border-radius:10px;font-size:13.5px;cursor:pointer}
.seg label:has(input:checked){border-color:var(--kohl);background:var(--kohl-wash)}
.seg input{accent-color:var(--kohl)}
.itemrow{display:grid;grid-template-columns:1fr 92px 64px 40px;gap:6px;margin-bottom:6px}
.itemrow select,.itemrow input{height:44px;border-radius:var(--r-2);border:1px solid var(--rule-2);background:var(--sheet);padding:0 8px;min-width:0}
.field select{height:46px;padding:0 10px;border-radius:var(--r-2);border:1px solid var(--rule-2);background:var(--sheet);font-weight:400}
.filebtn{cursor:pointer;align-self:flex-start}
.deskacts{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.rulebody{padding:14px 18px;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-s);color:var(--ink-2);max-height:420px;overflow:auto}
.rule .diff{display:flex;flex-direction:column;gap:3px;font-size:13px}
.rule .diff ins,.rule .diff del{padding:2px 6px;border-radius:4px}
.vers{list-style:none;margin:6px 0 0;padding:0;font-size:var(--fs-s)}
.events summary{cursor:pointer;font-size:13px;color:var(--ink-2)}
.pendingline{display:flex;gap:6px;align-items:center;margin-top:8px}
.pendingline .ic{width:16px;height:16px}
.split-card{padding:6px 16px}
.auth .ob-top{padding-bottom:0}
.auth .ob-body{min-height:0}
.perr{padding:6px 14px;font-size:12px;color:var(--bad);background:var(--bad-wash)}
.pbtn.rec{background:var(--bad-wash);color:var(--bad)}
.phone-msgs .pcard .acts button{background:var(--sheet);border:0;padding:9px 0;font-size:13px;font-weight:600;color:#3A6FF0;cursor:pointer}
.phone-msgs .quick button{cursor:pointer}
.phone-msgs .photo img{max-width:160px;border-radius:14px;display:block}
.phone-msgs .m.in .bub small{color:var(--ink-3)}
.phone-msgs .receipt{width:100%}
.demo-note{font-size:12px;color:var(--ink-3);text-align:center;max-width:376px;align-self:center}
.demo-note a{color:var(--kohl);font-weight:600}
.demo-console .thread .msgs{padding-bottom:20px}
.demo-left .eyebrow{color:var(--on-kohl)}
@media (max-width:760px){
  .grid2{grid-template-columns:1fr}
  .itemrow{grid-template-columns:1fr 80px 56px 40px}
  .setgrid{grid-template-columns:1fr}
  .page .banner{margin:12px 16px 0}
}
.helperchat .cardhead{justify-content:flex-start}
.testmode{margin-top:10px;padding:8px 12px;border-radius:10px;background:rgba(240,138,18,.18);color:#FFE2B8;font-size:12.5px}
