/* Shared chat sheet: the existing checkout popup, also used by finance. */
.dialog.chat-dialog{border:2px solid var(--navy);border-radius:22px 22px 0 0;padding:26px 22px;position:fixed;inset:auto 0 0;margin:0 auto;width:100%;max-width:520px;max-height:85dvh;overflow:auto;color:var(--navy);background:white;box-shadow:0 -12px 55px #0B17422b}
.dialog.chat-dialog::backdrop{background:#0B1742a8}
.chat-dialog .dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.chat-dialog .dialog-head h2{font-size:23px;margin-top:8px;line-height:1.3}
.chat-dialog .icon-button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;background:none;color:var(--navy);cursor:pointer}
.chat-dialog .icon{display:inline-block;width:20px;height:20px;background:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat}
.chat-dialog button:focus-visible,.chat-dialog a:focus-visible,.chat-dialog textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.chat-dialog:not([open]){display:none}
@media(min-width:768px){.dialog.chat-dialog{inset:50% auto auto 50%;transform:translate(-50%,-50%);border-radius:22px;margin:0}}
.chat-dialog[open]{display:flex;flex-direction:column;gap:0;padding-bottom:max(16px,env(safe-area-inset-bottom))}
.chat-log{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.chat-msg{max-width:86%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-msg.is-user{align-self:flex-end;background:var(--blue);color:white;border-bottom-right-radius:6px}
.chat-msg.is-bot{align-self:flex-start;background:#F1F4F9;color:var(--navy);border-bottom-left-radius:6px}
.chat-msg.is-typing{display:flex;gap:4px;padding:14px}
.chat-msg.is-typing span{width:7px;height:7px;border-radius:50%;background:#8C97AB;animation:chat-dot 1s infinite ease-in-out}
.chat-msg.is-typing span:nth-child(2){animation-delay:.15s}.chat-msg.is-typing span:nth-child(3){animation-delay:.3s}
@keyframes chat-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.chat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chat-chip{min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:white;font-size:13px;font-weight:600;color:var(--navy)}
.chat-chip:hover{border-color:var(--blue)}
.chat-bar{position:sticky;bottom:0;display:flex;align-items:flex-end;gap:8px;margin-top:16px;padding:7px 7px 7px 16px;background:#F4F6FA;border:1px solid #DCE2EC;border-radius:26px;box-shadow:0 -8px 20px #fff}
.chat-bar textarea{flex:1;min-height:36px;max-height:120px;padding:7px 0;border:0;background:transparent;resize:none;font:inherit;font-size:16px;line-height:1.4;color:var(--navy);outline:none}
.chat-send{width:38px;height:38px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:var(--navy);color:white}
.chat-send .icon{width:18px;height:18px}
.chat-bar[data-busy] .chat-send{opacity:.4}
.chat-foot{margin-top:10px;font-size:12px;color:var(--muted);text-align:center}.chat-foot a{color:var(--blue);font-weight:600}
.chat-app{display:inline-flex;margin-top:8px;padding:8px 12px;border-radius:999px;background:#25D366;color:white;font-weight:700;font-size:13px}
