/* ── Team Chat → a direct message with a shared invoice (src/modules/chat/ChatSidebar.jsx · ChannelView.jsx · MessageBubble.jsx · ShareRecord.jsx) ── */
/* Light ("Quiet") theme: tx #0F1A2B, ts #444D5A, tm #626976, accent #1E8E5A; chat's own cyan #06B6D4. Sora falls back to Plus Jakarta Sans, as in the app. */
.vg-tc{--tx:#0F1A2B;--ts:#444D5A;--tm:#626976;--ac:#1E8E5A}
.vg-tc .tc-body{display:grid;grid-template-columns:290px minmax(0,1fr);gap:6px;min-height:0}

/* header: the chat icon sits between the apps launcher and Eagle (SmartBook_ERP.jsx ChatDropdown) */
.vg-tc .tc-hc{color:var(--ac)}
.vg-tc .tc-hb{position:absolute;top:2px;right:2px;min-width:14px;height:14px;border-radius:8px;background:#06B6D4;color:#fff;
  border:2px solid rgba(11,15,24,.65);box-shadow:0 0 6px rgba(6,182,212,.5);display:grid;place-items:center;box-sizing:content-box}
.vg-tc .tc-hb::before{content:"";position:absolute;inset:-4px;border-radius:9px;background:#06B6D4;opacity:.3;z-index:-1}
.vg-tc .tc-hb b{font:800 9px/14px "Plus Jakarta Sans",sans-serif}
.vg-tc .tc-hb .n1{display:none}

/* the module menu: 290 px beside the rail, with the conversations in it */
.vg-tc .tc-menu{display:flex;flex-direction:column;min-height:0;overflow:hidden;border-radius:18px;border:1px solid #E2E8F0;background:rgba(255,255,255,.85)}
.vg-tc .tc-mh{display:flex;align-items:center;gap:10px;padding:14px 16px 12px;border-bottom:1px solid rgba(0,0,0,.05);
  background:linear-gradient(145deg,rgba(30,142,90,.063),rgba(30,142,90,.024) 55%,rgba(30,142,90,0))}
.vg-tc .tc-mh b{flex:1;font:800 16px/1.25 "Plus Jakarta Sans",sans-serif;letter-spacing:-.015em;color:var(--tx)}
.vg-tc .tc-mb{width:24px;height:24px;flex:none;border-radius:7px;display:grid;place-items:center;background:rgba(0,0,0,.04);color:var(--tm)}
.vg-tc .tc-mb.cy{background:rgba(6,182,212,.1);color:#06B6D4}
.vg-tc .tc-mb .ic{width:13px;height:13px}
.vg-tc .tc-sh{padding:8px 10px}
.vg-tc .tc-srch{display:flex;align-items:center;gap:6px;height:30px;margin-bottom:8px;padding:0 10px 0 9px;border-radius:9px;background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.06);font-size:12px;color:#8A93A3}
.vg-tc .tc-srch .ic{width:13px;height:13px;color:var(--tm)}
.vg-tc .tc-seg{display:flex;gap:3px;padding:3px;border-radius:10px;background:rgba(0,0,0,.05)}
.vg-tc .tc-seg span{flex:1;padding:5px 0;border-radius:7px;text-align:center;font:700 11px/1.3 "Inter",sans-serif;color:var(--tm)}
.vg-tc .tc-seg .on{background:#fff;color:var(--ac);box-shadow:0 1px 4px rgba(0,0,0,.14)}
.vg-tc .tc-list{flex:1;min-height:0;overflow:hidden;padding:2px 6px 16px}
.vg-tc .tc-sec{display:flex;align-items:center;gap:5px;margin-top:8px;padding:5px 8px;font:700 10.5px/1.3 "Plus Jakarta Sans",sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--tm)}
.vg-tc .tc-sec:first-child{margin-top:0}
.vg-tc .tc-sec .ic{width:12px;height:12px}
.vg-tc .tc-row{display:flex;align-items:center;gap:9px;margin-bottom:1px;padding:7px 9px;border-radius:9px;border-left:2px solid transparent;transition:background .4s,border-color .4s}
.vg-tc .tc-row>.ic{width:15px;height:15px;color:var(--tm)}
.vg-tc .tc-row b{flex:1;min-width:0;font-size:12.5px;font-weight:500;line-height:1.35;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .4s}
.vg-tc .tc-row.ch b{text-transform:capitalize}
.vg-tc .tc-row.un b{font-weight:700}
.vg-tc .tc-row.on{background:rgba(30,142,90,.08);border-left-color:var(--ac)}
.vg-tc .tc-row.on b{font-weight:700;color:var(--ac)}
.vg-tc .tc-rt{flex:1;min-width:0;display:block}
.vg-tc .tc-rn{display:flex;align-items:center;gap:6px}
.vg-tc .tc-rn small{flex:none;font-size:9px;color:var(--tm)}
.vg-tc .tc-pv{display:block;margin-top:1px;font-size:11px;line-height:1.35;color:var(--tm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vg-tc .tc-row.un .tc-pv{color:var(--ts)}
.vg-tc .tc-pv.tc-draft{color:var(--ac);font-weight:600}
.vg-tc .tc-pin{width:16px;height:16px;flex:none}
.vg-tc .tc-badge{flex:none;min-width:17px;height:17px;margin-left:-4px;padding:0 5px;border-radius:9px;background:#06B6D4;color:#fff;font:700 9.5px/17px "Inter",sans-serif;text-align:center}
.vg-tc .tc-pp{display:flex;align-items:center;gap:9px;padding:5px 9px;border-radius:8px}
.vg-tc .tc-pp b{flex:1;min-width:0;font-size:12px;font-weight:500;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vg-tc .tc-pp small{flex:none;font-size:10px;color:var(--tm)}
.vg-tc .tc-pp.off{opacity:.8}
.vg-tc .tc-pp.off b{color:var(--ts)}
.vg-tc .tc-off{margin-top:6px;padding:4px 9px 2px;font:700 10px/1.3 "Inter",sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--tm)}

/* avatars: the initials gradient of components/Avatar.jsx (hue = the name's character codes, mod 360) */
.vg-tc .tc-av{position:relative;flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 10.6px/1 "Inter",sans-serif}
.vg-tc .tc-av.sm{width:22px;height:22px;font-size:8.4px}
.vg-tc .tc-av.s26{width:26px;height:26px;font-size:9.9px}
.vg-tc .tc-av.md{width:32px;height:32px;font-size:12.2px}
.vg-tc .tc-av.xl{width:36px;height:36px;font-size:13.7px}
.vg-tc .av-ok{background:linear-gradient(135deg,hsl(300 65% 55%),hsl(330 65% 45%))}
.vg-tc .av-s{background:linear-gradient(135deg,hsl(31 65% 55%),hsl(61 65% 45%))}
.vg-tc .av-pn{background:linear-gradient(135deg,hsl(223 65% 55%),hsl(253 65% 45%))}
.vg-tc .av-ar{background:linear-gradient(135deg,hsl(37 65% 55%),hsl(67 65% 45%))}
.vg-tc .av-yr{background:linear-gradient(135deg,hsl(91 65% 55%),hsl(121 65% 45%))}
/* presence: the sidebar draws "online" in the theme accent and "away" in amber; headers and posts use #10B981 */
.vg-tc .tc-pd{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border-radius:50%;background:var(--ac);border:2px solid #fff}
.vg-tc .tc-av.sm .tc-pd{width:8px;height:8px}
.vg-tc .tc-pd.away{background:#D97706}
.vg-tc .tc-pd.hd{width:11px;height:11px;border:0;background:#10B981;box-shadow:0 0 0 2px #fff}
.vg-tc .s26 .tc-pd.hd{width:8px;height:8px}

/* the conversation pane: a DM and a channel share the page; the tour crossfades between them */
.vg-tc .tc-page{display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr)}
.vg-tc .tc-dm,.vg-tc .tc-ch{grid-area:1/1;min-height:0;display:flex;flex-direction:column;transition:opacity .45s,visibility .45s}
.vg-tc .tc-ch{opacity:0;visibility:hidden;background:rgba(0,0,0,.01)}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-ch{opacity:1;visibility:visible}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-dm{opacity:0;visibility:hidden}

.vg-tc .tc-dh{flex:none;display:flex;align-items:center;gap:11px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06);background:#fff}
.vg-tc .tc-dh b{display:block;font:800 14px/1.3 "Plus Jakarta Sans",sans-serif;color:var(--tx)}
.vg-tc .tc-dh small{display:flex;align-items:center;gap:5px;font-size:10.5px;line-height:1.35;color:#10B981}
.vg-tc .tc-dh small i{width:6px;height:6px;border-radius:50%;background:#10B981}
.vg-tc .tc-msgs{flex:1;min-height:0;overflow:hidden;padding:12px 16px;background-image:radial-gradient(rgba(0,0,0,.05) 1px,transparent 1px);background-size:22px 22px}
.vg-tc .tc-day{display:flex;align-items:center;gap:12px;margin:12px 0}
.vg-tc .tc-day.first{margin:2px 0 12px}
.vg-tc .tc-day::before,.vg-tc .tc-day::after{content:"";flex:1;height:1px;background:rgba(0,0,0,.07)}
.vg-tc .tc-day span{padding:3px 10px;border-radius:20px;background:rgba(0,0,0,.05);font:700 10px/1.25 "Inter",sans-serif;letter-spacing:.5px;text-transform:uppercase;color:var(--tm)}
.vg-tc .tc-m{display:flex;align-items:flex-end;gap:10px;padding:8px 0 4px}
.vg-tc .tc-m.cont{padding:2px 0}
.vg-tc .tc-m.mine{flex-direction:row-reverse}
.vg-tc .tc-avs{width:32px;height:1px;flex:none}
.vg-tc .tc-mc{max-width:70%;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.vg-tc .mine .tc-mc{align-items:flex-end}
.vg-tc .tc-who{display:flex;align-items:baseline;gap:8px;margin-bottom:4px;padding-left:12px}
.vg-tc .tc-who b{font-size:12px;color:var(--tx)}
.vg-tc .tc-who small{font-size:10px;color:var(--tm)}
.vg-tc .tc-bub{padding:10px 14px;border-radius:16px 16px 16px 4px;border:1px solid rgba(0,0,0,.07);background:rgba(0,0,0,.05)}
.vg-tc .cont .tc-bub{border-radius:16px}
.vg-tc .mine .tc-bub{border-radius:16px 16px 4px 16px;border-color:rgba(6,182,212,.3);background:linear-gradient(135deg,rgba(6,182,212,.22),rgba(59,130,246,.18))}
.vg-tc .tc-bub p{margin:2px 0;font-size:13px;line-height:1.6;color:var(--ts)}
.vg-tc .tc-t{margin-top:3px;padding-left:8px;font-size:9px;line-height:1.3;color:var(--tm)}
.vg-tc .mine .tc-t{padding:0 8px 0 0}
.vg-tc .tc-t:empty{line-height:0}
/* a shared record (ShareRecord.jsx RecordCard): number, kind · party · status, amount with at most two decimals */
.vg-tc .tc-rc{display:inline-flex;align-items:center;gap:10px;max-width:420px;margin-top:6px;padding:9px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.03)}
.vg-tc .tc-rc>i{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(0,0,0,.10);color:var(--tx)}
.vg-tc .tc-rc>i .ic{width:14px;height:14px}
.vg-tc .tc-rc>span{min-width:0}
.vg-tc .tc-rc b{display:block;font:700 12.5px/1.4 "Plus Jakarta Sans",sans-serif;color:var(--tx);white-space:nowrap}
.vg-tc .tc-rc small{display:block;font-size:11px;line-height:1.4;color:var(--tm);white-space:nowrap}
.vg-tc .tc-rc strong{margin-left:8px;font-size:12.5px;font-weight:700;color:var(--tx);white-space:nowrap}

.vg-tc .tc-typing{flex:none;display:flex;align-items:center;gap:6px;height:0;padding:0 20px;overflow:hidden;background:rgba(6,182,212,.04);font:600 11px/1 "Inter",sans-serif;color:#0E7490}
.vg-tc .tc-dots{display:inline-flex;gap:2px}
.vg-tc .tc-dots i{width:4px;height:4px;border-radius:50%;background:#06B6D4;opacity:.3}

/* the composer (PostComposer): one toolbar in channels, threads and DMs */
.vg-tc .tc-comp{flex:none;padding:10px 16px;border-top:1px solid rgba(0,0,0,.06)}
.vg-tc .tc-ch .tc-comp{padding:12px 20px;background:#fff}
.vg-tc .tc-box{border-radius:12px;border:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.02);transition:border-color .4s,box-shadow .4s}
.vg-tc .tc-tb{display:flex;align-items:center;gap:2px;padding:6px 10px;border-bottom:1px solid rgba(0,0,0,.05)}
.vg-tc .tc-tb>i{width:1px;height:16px;margin:0 4px;background:rgba(0,0,0,.08)}
.vg-tc .tc-hd{display:inline-flex;align-items:center;gap:4px;min-width:50px;padding:5px 8px;font:600 11px/1.2 "Inter",sans-serif;color:var(--tm)}
.vg-tc .tc-hd .ic{width:11px;height:11px}
.vg-tc .tb{display:inline-flex;padding:5px;border-radius:5px;color:var(--tm);transition:background .3s,color .3s}
.vg-tc .tb .ic{width:13px;height:13px}
.vg-tc .tc-hint{margin:0 6px 0 auto;font-size:10.5px;color:var(--tm);white-space:nowrap}
.vg-tc .tc-ed{display:flex;align-items:flex-end;gap:8px;padding:6px 8px}
.vg-tc .tc-ch .tc-ed{padding:4px}
.vg-tc .tc-edt{flex:1;min-width:0;min-height:36px;padding:8px 12px;font-size:13px;line-height:1.55;color:var(--tx)}
.vg-tc .tc-ph{color:rgba(0,0,0,.35)}
.vg-tc .tc-send{flex:none;display:inline-flex;align-items:center;gap:6px;margin:0 4px 4px 0;padding:7px 14px;border-radius:9px;border:1px solid rgba(0,0,0,.14);color:var(--tm);opacity:.6;
  font:700 12px/1 "Inter",sans-serif;transition:background .4s,border-color .4s,color .4s,opacity .4s}
.vg-tc .tc-send .ic{width:12px;height:12px}

/* share a record: the picker opens above the toolbar button (ShareRecordPicker) */
.vg-tc .tc-shw{position:relative;display:inline-flex}
.vg-tc .tc-pick{position:absolute;left:0;bottom:100%;z-index:3;display:block;width:380px;margin-bottom:8px;border-radius:12px;border:1px solid rgba(0,0,0,.10);background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.16);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .4s,visibility .4s,transform .4s}
.vg-tc .tc-pk-s{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.07);font-size:12.5px;line-height:1.3;color:var(--tx)}
.vg-tc .tc-pk-s>span{flex:1}
.vg-tc .tc-pk-s .ic{width:13px;height:13px;color:var(--tm)}
.vg-tc .tc-caret{display:inline-block;width:1px;height:14px;margin-left:1px;vertical-align:-2px;background:var(--tx)}
.vg-tc .tc-pk-l{display:block;padding:6px}
.vg-tc .tc-pk-r{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.04)}
.vg-tc .tc-pk-r .ic{width:14px;height:14px;color:var(--tm)}
.vg-tc .tc-pk-r>span{flex:1;min-width:0}
.vg-tc .tc-pk-r b{display:block;font-size:12.5px;font-weight:600;line-height:1.35;color:var(--tx)}
.vg-tc .tc-pk-r small{display:block;font-size:10.5px;line-height:1.35;color:var(--tm)}
.vg-tc .tc-pk-r em{font-size:12px;font-weight:600;color:var(--tx)}
.vg-tc[data-state=share] .tc-pick{opacity:1;visibility:visible;transform:none}
.vg-tc[data-state=share] .tc-share{background:rgba(6,182,212,.12);color:#06B6D4}
.vg-tc[data-state=share] .tc-dm .tc-box{border-color:rgba(30,142,90,.4);box-shadow:0 0 0 3px rgba(30,142,90,.08)}

/* a channel: header, post cards with folded threads, the full composer */
.vg-tc .tc-chh{flex:none;display:flex;align-items:center;padding:12px 20px;border-bottom:1px solid rgba(0,0,0,.06);background:#fff}
.vg-tc .tc-tile{width:34px;height:34px;flex:none;margin-right:11px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(6,182,212,.16),rgba(59,130,246,.16));color:var(--tx)}
.vg-tc .tc-tile .ic{width:18px;height:18px}
.vg-tc .tc-chn{flex:1;min-width:0}
.vg-tc .tc-chn b{display:block;font:800 16px/1.25 "Plus Jakarta Sans",sans-serif;color:var(--tx);text-transform:capitalize}
.vg-tc .tc-chn small{display:block;font-size:11.5px;line-height:1.4;color:var(--tm)}
.vg-tc .tc-stack{display:flex;align-items:center;margin-left:12px}
.vg-tc .tc-stack .tc-av{box-shadow:0 0 0 2px #fff}
.vg-tc .tc-stack .tc-av+.tc-av{margin-left:-8px}
.vg-tc .tc-stack .tc-av:nth-child(1){z-index:4}
.vg-tc .tc-stack .tc-av:nth-child(2){z-index:3}
.vg-tc .tc-stack .tc-av:nth-child(3){z-index:2}
.vg-tc .tc-onl{display:flex;align-items:center;gap:5px;margin-left:8px;font-size:11px;color:var(--tm);white-space:nowrap}
.vg-tc .tc-onl i{width:6px;height:6px;border-radius:50%;background:#10B981}
.vg-tc .tc-sbtn{display:inline-flex;margin-left:12px;padding:6px;border-radius:6px;color:var(--tm)}
.vg-tc .tc-sbtn .ic{width:14px;height:14px}
.vg-tc .tc-feed{flex:1;min-height:0;overflow:hidden;padding:8px 20px 16px;background-image:radial-gradient(rgba(0,0,0,.05) 1px,transparent 1px);background-size:22px 22px}
.vg-tc .tc-feed .tc-day.first{margin:4px 0 14px}
.vg-tc .tc-feed .tc-day span{font-size:10.5px}
.vg-tc .tc-post{margin-bottom:14px;overflow:hidden;border-radius:12px;border:1px solid rgba(0,0,0,.06);background:#fff}
.vg-tc .tc-ph2{display:flex;align-items:flex-start;gap:10px;padding:14px 16px 10px}
.vg-tc .tc-who2{display:flex;align-items:baseline;gap:8px}
.vg-tc .tc-who2 b{font-size:13px;color:var(--tx)}
.vg-tc .tc-who2 small{font-size:11px;color:var(--tm)}
.vg-tc .tc-pb{display:block;padding:0 16px 12px 62px}
.vg-tc .tc-pb p{margin:2px 0;font-size:13px;line-height:1.6;color:var(--ts)}
.vg-tc .tc-men{display:inline-block;padding:0 6px;border-radius:4px;background:rgba(6,182,212,.12);color:#0E7490;font-size:.92em;font-weight:600}
.vg-tc .tc-acts{display:flex;align-items:center;gap:6px;margin-top:10px}
.vg-tc .tc-acts>span{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:8px;font:600 11px/1.3 "Inter",sans-serif;color:var(--tm)}
.vg-tc .tc-acts .ic{width:12px;height:12px}
.vg-tc .tc-acts .tc-react{padding:4px 8px}
.vg-tc .tc-acts .tc-react .ic{width:13px;height:13px}
.vg-tc .tc-reps{display:block;padding:10px 16px 10px 62px;border-top:1px solid rgba(0,0,0,.04);background:rgba(0,0,0,.02)}
.vg-tc .tc-prev{display:inline-flex;align-items:center;gap:5px;padding:4px 0 8px;font-size:11px;font-weight:600;color:#06B6D4}
.vg-tc .tc-prev .ic{width:12px;height:12px}
.vg-tc .tc-rep{display:flex;gap:8px;padding:6px 0}
.vg-tc .tc-rep>span:last-child{flex:1;min-width:0}
.vg-tc .tc-who3{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}
.vg-tc .tc-who3 b{font-size:12px;color:var(--tx)}
.vg-tc .tc-who3 small{font-size:10px;color:var(--tm)}
.vg-tc .tc-rep p{margin:2px 0;font-size:12px;line-height:1.5;color:var(--ts)}

/* compose: a half-written post with a task list (the task-list button reads as pressed; Send wakes up) */
.vg-tc .tc-draft-in{display:block;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s cubic-bezier(.2,.7,.2,1),opacity .4s}
.vg-tc .tc-dl{display:block}
.vg-tc .tc-task{display:flex;align-items:flex-start;gap:6px;margin:2px 0 0 4px}
.vg-tc .tc-task:first-of-type{margin-top:6px}
.vg-tc .tc-task i{width:13px;height:13px;flex:none;margin-top:3px;border-radius:3px;border:1px solid #767676;background:#fff}
.vg-tc[data-state=compose] .tc-ch .tc-ph{display:none}
.vg-tc[data-state=compose] .tc-draft-in{max-height:100px;opacity:1}
.vg-tc[data-state=compose] .tc-tl{background:rgba(6,182,212,.12);color:#06B6D4}
.vg-tc[data-state=compose] .tc-ch .tc-send{background:var(--ac);border-color:var(--ac);color:#fff;opacity:1}
.vg-tc[data-state=compose] .tc-ch .tc-box{border-color:rgba(30,142,90,.4);box-shadow:0 0 0 3px rgba(30,142,90,.08)}

/* in a channel, its row is the active one, its unread count clears, and its tab is the open one */
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-r-omar{background:none;border-left-color:transparent}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-r-omar b{font-weight:500;color:var(--tx)}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-r-sales{background:rgba(30,142,90,.08);border-left-color:var(--ac)}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-r-sales b{color:var(--ac)}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-r-sales>.ic{color:var(--ac)}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-r-sales .tc-badge{display:none}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-hb .n3{display:none}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-hb .n1{display:inline}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-t-ch{color:#1A1A1E;background:#fff;box-shadow:0 1px 3px rgba(18,38,28,.08),0 0 0 1px rgba(30,142,90,.16)}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-t-ch .glyph{color:#1E8E5A;opacity:1}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-t-dm{color:#5A6472;background:#E7ECF2;box-shadow:none}
.vg-tc:is([data-state=channel],[data-state=compose]) .tc-t-dm .glyph{color:inherit;opacity:.9}

/* phones show a 720-px crop past the rail: the tour keeps the menu in view; in the hero the menu is put away
   (as Cmd+\ does), so the whole conversation fits */
@media (max-width:760px){
  .vg-tc.app{--fx:70px}
  .m-shot .vg-tc.app{--w:798px !important}
  .m-shot .vg-tc .tc-body{grid-template-columns:16px minmax(0,1fr)}
  .m-shot .vg-tc .tc-menu{display:none}
  .m-shot .vg-tc .tc-page{grid-column:2}
}

/* ── hero: Omar is typing, his answer arrives, then the invoice slides into the conversation ──
   (offsets and opacity only, and transitions rather than held keyframes: a transform inside a zoomed mock-up rasterises soft) */
.vg-tc :is(.tc-n1,.tc-n2){position:relative}
.motion .m-shot:not(.in) .vg-tc .tc-n1{opacity:0;top:10px}
.motion .m-shot:not(.in) .vg-tc .tc-n2{opacity:0;left:-40px}
.motion .m-shot.in .vg-tc .tc-n1{transition:opacity .5s cubic-bezier(.2,.7,.2,1) 2.45s,top .5s cubic-bezier(.2,.7,.2,1) 2.45s}
.motion .m-shot.in .vg-tc .tc-n2{transition:opacity .75s cubic-bezier(.2,.75,.2,1) 3.3s,left .75s cubic-bezier(.2,.75,.2,1) 3.3s}
.motion .m-shot.in .vg-tc .tc-typing{animation:tcType 2.15s cubic-bezier(.3,.6,.3,1) .5s both}
.motion .m-shot.in .vg-tc .tc-dots i{animation:tcBounce 1.2s ease-in-out .5s 2}
.motion .m-shot.in .vg-tc .tc-dots i:nth-child(2){animation-delay:.7s}
.motion .m-shot.in .vg-tc .tc-dots i:nth-child(3){animation-delay:.9s}
.motion .m-shot.in .vg-tc .tc-inv{animation:tcGlow 1.9s ease 3.75s both}
@keyframes tcType{0%{height:0}15%,85%{height:21px}100%{height:0}}
@keyframes tcBounce{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes tcGlow{0%{box-shadow:0 0 0 0 rgba(6,182,212,0)}22%{box-shadow:0 0 0 4px rgba(6,182,212,.24)}100%{box-shadow:0 0 0 0 rgba(6,182,212,0)}}
.motion .vg-tc[data-state=share] .tc-caret{animation:tcBlink 1.05s steps(1) infinite}
@keyframes tcBlink{50%{opacity:0}}

/* ── page: one record card per kind of document (#cards) ── */
.tc-kinds{list-style:none;margin:48px 0 0;padding:0;border-top:1px solid var(--hair)}
.tc-kinds li{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr) auto;align-items:center;gap:20px 40px;padding:22px 0;border-bottom:1px solid var(--hair)}
.tc-card{display:flex;align-items:center;gap:12px;justify-self:start;width:min(100%,440px);padding:11px 14px;border-radius:12px;border:1px solid rgba(15,26,43,.12);background:#fff;
  box-shadow:0 1px 2px rgba(15,26,43,.04);font-family:var(--text)}
.tc-card>i{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:9px;border:1px solid rgba(15,26,43,.10);color:var(--ink)}
.tc-card>i svg{width:17px;height:17px;display:block}
.tc-card>span{min-width:0}
.tc-card b{display:block;font:700 15px/1.35 var(--display);color:var(--ink)}
.tc-card small{display:block;font-size:13px;line-height:1.4;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-card strong{margin-left:auto;padding-left:12px;font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.tc-kt b{display:block;font:700 18px/1.3 var(--display);color:var(--ink)}
.tc-kt span{display:block;margin-top:4px;font-size:16px;line-height:1.5;color:var(--ink-2)}
.tc-from{padding:5px 11px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap}
.tc-kinds-note{max-width:70ch;margin-top:22px;font-size:13.5px;color:var(--muted)}
@media (max-width:860px){
  .tc-kinds li{grid-template-columns:minmax(0,1fr) auto;gap:14px 20px}
  .tc-card{grid-column:1/-1}
  .tc-card small{white-space:normal}
}
