/* Inline controls for the Foundry conversations; the panel itself uses concierge.css. */
.helm-controls { margin:0 0 16px; display:flex; flex-wrap:wrap; gap:8px; }
.helm-controls button,.helm-controls a { color:var(--helm-action); background:white; border:1px solid #bac8bb; border-radius:8px; padding:7px 12px; text-decoration:none; font-size:14px; }
.helm-controls .helm-primary { background:var(--helm-action); border-color:var(--helm-action); color:white; }
.helm-controls a:focus-visible,.helm-controls input:focus-visible,.helm-controls textarea:focus-visible,.helm-controls summary:focus-visible { outline:3px solid #b49e48; outline-offset:3px; }
.helm-control-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.helm-review-card,.helm-details { width:100%; box-sizing:border-box; background:#f7f6f0; border:1px solid #dadfd7; border-radius:14px; padding:12px 14px; }
.helm-review-card h3 { font:600 16px/1.4 Inter,system-ui,sans-serif; margin:0 0 4px; }
.helm-review-card p { font-size:13px; margin:5px 0; }
.helm-review-card details { font-size:12px; }
.helm-review-card summary { cursor:pointer; }
.helm-review-driver { border-top:1px solid #dadfd7; padding:8px 0; }
.helm-review-driver>summary { font-size:14px; font-weight:600; }
.helm-review-observation { padding:5px 0; }
.helm-score { color:#56645c; }
.helm-anchors { white-space:pre-line; color:#56645c; }
.helm-details { display:grid; gap:10px; background:white; }
.helm-details label { display:grid; gap:3px; font-size:13px; }
.helm-details input:not([type=checkbox]),.helm-details textarea { font:inherit; border:1px solid #c9cabe; border-radius:8px; padding:8px; color:var(--helm-ink); min-width:0; }
.helm-details textarea { resize:vertical; }
.helm-details .helm-check { display:flex; gap:8px; align-items:flex-start; font-size:12px; line-height:1.45; }
.helm-details .helm-check input { margin-top:2px; flex-shrink:0; }
.helm-field-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.helm-save p { font-size:13px; margin:0; }
.helm-save .helm-save-prompt { font-size:12px; color:#56645c; }
.helm-save-later { align-self:flex-start; margin:6px 18px 0; padding:0; background:none; border:0; color:var(--helm-action); font-size:12px; text-decoration:underline; cursor:pointer; }
.helm-save-later:focus-visible { outline:3px solid #b49e48; outline-offset:3px; }
.helm-note { margin:0 0 16px; font-size:13px; color:#56645c; }
/* Booking a conversation with our team: asked first, then open times, then a short form. */
.helm-actions a { color:var(--helm-action); background:white; border:1px solid #bac8bb; border-radius:8px; padding:7px 10px; text-decoration:none; }
.helm-actions a:focus-visible { outline:3px solid #b49e48; outline-offset:3px; }
.helm-offer { width:100%; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.helm-offer p { width:100%; margin:0; font-size:13px; }
.helm-times p { font-size:13px; margin:0 0 8px; }
.helm-time-list { display:grid; gap:6px; }
.helm-controls .helm-time-list button { text-align:left; }
.helm-book p { margin:0; }
.helm-book .helm-book-when { font:600 15px/1.4 Inter,system-ui,sans-serif; color:var(--helm-ink); }
.helm-book .helm-save-prompt { font-size:12px; color:#56645c; }
/* Work in progress: the report being prepared, a reply on its way, and working statuses. The dots
   keep cycling; with reduced motion they fade gently instead, since nothing moves. */
.helm-preparing { width:100%; margin:0; padding:12px 14px; box-sizing:border-box; background:#f7f6f0; border:1px solid #dadfd7; border-radius:12px; font:600 15px/1.4 Inter,system-ui,sans-serif; color:var(--helm-ink); }
.helm-message.helm-typing { width:fit-content; min-width:3.2em; box-sizing:border-box; }
.helm-preparing::after,.helm-status.helm-working::after,.helm-message.helm-typing::after { content:" . . ."; display:inline-block; white-space:pre; overflow:hidden; vertical-align:bottom; }
.helm-message.helm-typing::after { content:". . ."; font-weight:700; }
@media(prefers-reduced-motion:no-preference) {
  .helm-preparing::after,.helm-status.helm-working::after { width:0; animation:helm-dots 1.6s steps(4,end) infinite; }
  .helm-message.helm-typing::after { width:0; animation:helm-dots-tight 1.2s steps(4,end) infinite; }
  @keyframes helm-dots { to { width:1.9em; } }
  @keyframes helm-dots-tight { to { width:1.6em; } }
}
@media(prefers-reduced-motion:reduce) {
  .helm-preparing::after,.helm-status.helm-working::after,.helm-message.helm-typing::after { animation:helm-fade 1.6s ease-in-out infinite alternate; }
  @keyframes helm-fade { from { opacity:1; } to { opacity:.25; } }
}
@media(max-width:360px) { .helm-field-row { grid-template-columns:1fr; } }
.helm-divider { display:flex; align-items:center; gap:10px; margin:4px 0 16px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#56645c; }
.helm-divider::before,.helm-divider::after { content:""; flex:1; border-top:1px solid #dadfd7; }
.helm-quote { margin:4px 0 6px; padding-left:8px; border-left:2px solid #dadfd7; font:italic 12px/1.45 Georgia,serif; color:var(--helm-ink); }
.helm-on-report { display:block; margin-top:3px; font:600 10px/1.4 Inter,system-ui,sans-serif; letter-spacing:.04em; text-transform:uppercase; color:#56645c; }
