/* One conversation. Snap | Talk | Send. Video lives in More and Snap long-hold. */
#view-today { max-width: 880px; margin: auto; }
.conversation-heading { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-bottom:8px; }
.conversation-heading .text-btn { flex:none; }
.conversation-thread { display:flex; flex-direction:column; gap:24px; padding:8px 0 20px; }
.conversation-thread:empty { display:none; padding:0; }
.assistant-message { padding:0 0 0 20px; border-left:3px solid var(--teal); max-width:96%; }
.assistant-message.safety-message { border-left-color: var(--bad); background: var(--bad-bg); border-radius: 0 14px 14px 0; padding: 16px 16px 16px 20px; }
.safety-message .message-by { color: var(--bad); }
.assistant-message p, .trade-message p { white-space:pre-wrap; margin:8px 0; }
.message-by { font-size:14px; font-weight:650; color:var(--ink-dim); }
.trade-message { align-self:flex-end; max-width:88%; background:#E8EDF1; border-radius:18px 18px 4px 18px; padding:16px 20px; overflow-wrap:anywhere; }
.assistant-message ul { padding-left:20px; }
.assistant-message li { margin:8px 0; }
.next-question { font-weight:650; padding-top:12px; }
.capture-caption { display:block; font-size:14px; color:var(--ink-dim); white-space:pre-wrap; }
.conversation-composer { background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:16px; }
@media (max-width:959px) {
  .conversation-composer { position:sticky; bottom:calc(80px + env(safe-area-inset-bottom, 0px)); z-index:12; }
}
.conversation-composer textarea { width:100%; min-height:72px; border:0; padding:8px; border-radius:8px; background:transparent; font-size:18px; line-height:1.5; }
.composer-controls { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:stretch; gap:8px; }
.capture-control { display:inline-flex; gap:6px; align-items:center; justify-content:center; position:relative; overflow:hidden; cursor:pointer; border:0; background:var(--surface-2); border-radius:14px; min-height:64px; min-width:56px; padding:12px 16px; font-size:16px; font-weight:650; }
.capture-control:focus-within { outline:3px solid var(--teal); outline-offset:2px; }
.capture-control[aria-pressed="true"] { background:var(--teal); color:white; min-height:72px; flex-direction:column; }
.capture-control .record-timer { display:none; width:100%; text-align:center; font-variant-numeric:tabular-nums; font-size:16px; font-weight:750; letter-spacing:.04em; }
.capture-control[aria-pressed="true"] .record-timer { display:block; }
.capture-fail { margin:12px 0 0; padding:12px 14px; border-radius:14px; background:var(--warn-bg); color:var(--warn-dim); border-left:3px solid var(--warn); }
.capture-fail p { margin:0 0 8px; font-size:14px; }
.capture-fail .text-btn { min-height:44px; }
.composer-controls .primary { margin-left:0; min-height:64px; width:100%; background:var(--teal); }
.capture-hint { font-size:14px; color:var(--ink-dim); margin:12px 4px 0; line-height:1.4; text-align:center; }
.capture-more { margin:8px 4px 0; }
.capture-more > summary { font-size:14px; color:var(--ink-dim); min-height:44px; padding:8px 0; cursor:pointer; }
.capture-more .capture-control { width:100%; margin-top:8px; }
.capture-pending { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:14px; background:var(--bg); border-radius:10px; padding:4px 12px; margin-bottom:8px; }
.conversation-status { font-size:14px; color:var(--ink-dim); margin:8px 0; min-height:1.5em; }
.conversation-actions { display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; margin:12px 0; }
.manual-tools { margin:24px 0 0; border-top:1px solid var(--line); padding-top:16px; }
.manual-tools > summary { font-size:14px; color:var(--ink-dim); padding:12px 0; min-height:44px; }
.manual-tools[open] > summary { margin-bottom:16px; }
.more-forms { display:flex; flex-direction:column; gap:8px; }
.more-form { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; width:100%; padding:12px 16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); text-align:left; font-size:16px; font-weight:650; }
.more-form [data-icon] { color:var(--ink-dim); }
.reply-lanes { display:grid; gap:12px; margin:16px 0 8px; }
.reply-lane { padding:12px 14px; border-radius:12px; background:var(--surface-2); }
.reply-lane h3 { margin:0 0 8px; font-size:11px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-dim); }
.reply-lane p { margin:4px 0; }
.reply-lane .next-question { font-weight:650; padding-top:0; }
.reply-lane .text-btn { min-height:44px; padding:8px 0; }
.invoice-review { background:var(--surface); border:1px solid var(--line); border-radius:16px; margin:8px 0 24px; padding:24px; }
.invoice-heading { margin-bottom:20px; }
.invoice-line { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; padding:16px 0; border-top:1px solid var(--line); }
.invoice-line > strong { overflow-wrap:anywhere; }
.invoice-line > span { grid-column:1; font-size:14px; color:var(--ink-dim); }
.invoice-line > b { grid-column:2; grid-row:1 / 3; align-self:center; }
.invoice-line > details { grid-column:1 / -1; }
.invoice-total { display:flex; justify-content:space-between; gap:16px; font-size:20px; border-top:2px solid var(--ink); padding-top:16px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:600px) {
  .conversation-heading { margin-bottom:4px; }
  .conversation-heading .text-btn { padding:0; }
  .conversation-thread { gap:20px; }
  .conversation-composer { padding:12px; }
  .capture-control { padding:12px; }
  .assistant-message { padding-left:14px; }
  .invoice-review { padding:20px 16px; }
}
@media(max-width:360px) {
  .invoice-line { grid-template-columns:minmax(0,1fr); }
  .invoice-line > b { grid-column:1; grid-row:auto; }
}
.capture-thumbs { display:flex; gap:8px; max-width:100%; overflow:auto; margin-top:8px; }
.capture-thumbs:empty { display:none; }
.capture-thumbs img { width:112px; height:88px; object-fit:cover; border-radius:8px; flex:none; }
.capture-thumbs audio { max-width:100%; height:44px; }
.conversation-status:empty { min-height:0; margin:0; }
@media(max-width:600px) {
  .has-workspace .header-inner { min-height:64px; }
}
@media(min-width:600px) {
  .composer-controls { grid-template-columns:repeat(3, minmax(0,1fr)); }
}
.file-input-accessible {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  opacity:0;
  cursor:pointer;
  font-size:16px;
  z-index:2;
}
#ai-photo-door {
  -webkit-touch-callout:none;
  user-select:none;
  -webkit-user-select:none;
}
#ai-photo-door #ai-photo { z-index:3; }
#ai-photo-door .snap-hold-video { z-index:1; }
#ai-photo-door.hold-video #ai-photo { z-index:1; pointer-events:none; }
#ai-photo-door.hold-video .snap-hold-video { z-index:4; }
