/* View styles (a): Inbox and Guests. Uses tokens from admin.css; everything is scoped with the va- prefix. */

/* ---------- inbox shell ---------- */
.va-inbox-card{overflow:hidden}
.app.inbox-view .topbar{display:none}
.app.inbox-view .view{padding:0}
.va-inbox-card>.inbox{height:calc(100svh - 2px)}
.va-list-pane{background:var(--card)}
.va-list-head{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--border)}
.va-search-row{display:flex;align-items:center;gap:.5rem}
.va-search{position:relative;flex:1;min-width:0}
.va-search>svg{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}
.va-search>input{padding-left:2rem}
.va-inbox-controls{display:flex;align-items:center;gap:.65rem;min-width:0}
.va-inbox-toggles{display:flex;align-items:center;gap:.5rem;flex:none}
.va-channel-picker{position:relative;flex:1;min-width:0}
.va-channel-trigger{display:flex;align-items:center;gap:.45rem;width:100%;height:2.35rem;min-width:0;padding:0 .65rem;border:1px solid var(--border);border-radius:.65rem;background:var(--card);color:var(--heading);font-size:.8125rem;font-weight:500;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s}
.va-channel-trigger:hover,.va-channel-trigger[aria-expanded=true]{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:var(--surface-subtle)}
.va-channel-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.va-channel-trigger>svg.i:first-child{flex:none;color:var(--muted-foreground)}
.va-channel-trigger>svg.i:last-child{flex:none;margin-left:auto;color:var(--muted-foreground);transition:transform .15s}
.va-channel-trigger[aria-expanded=true]>svg.i:last-child{transform:rotate(180deg)}
.va-channel-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.va-channel-menu{position:absolute;z-index:80;top:calc(100% + .35rem);right:0;width:max-content;min-width:100%;max-width:min(18rem,calc(100vw - 1rem));padding:.3rem;border:1px solid var(--border);border-radius:.65rem;background:var(--card);box-shadow:var(--shadow-lg);animation:pop .12s ease-out}
.va-channel-menu[hidden]{display:none}
.va-channel-option{display:flex;align-items:center;gap:.55rem;width:100%;min-height:2.1rem;padding:.35rem .55rem;border:0;border-radius:.4rem;background:transparent;color:var(--foreground);font:inherit;font-size:.8125rem;text-align:left;cursor:pointer}
.va-channel-option:hover,.va-channel-option:focus-visible{outline:0;background:var(--accent);color:var(--heading)}
.va-channel-option[aria-selected=true]{color:var(--primary);font-weight:600}
.va-channel-option>svg.i{flex:none;color:var(--muted-foreground)}
.va-channel-option[aria-selected=true]>svg.i{color:var(--primary)}
.va-channel-option-label{flex:1;white-space:nowrap}
.va-channel-option-count{min-width:1.25rem;text-align:right;color:var(--muted-foreground);font-size:.75rem;font-variant-numeric:tabular-nums}
.va-round-toggle{position:relative;display:inline-grid;place-items:center;flex:none;width:2.35rem;height:2.35rem;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--card);color:var(--muted-foreground);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}
.va-round-toggle:hover{border-color:var(--primary);color:var(--primary)}
.va-round-toggle[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:#fff}
.va-round-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.va-round-toggle svg.i{width:1.05rem;height:1.05rem}
.va-toggle-count{position:absolute;right:-.28rem;top:-.28rem;display:grid;place-items:center;min-width:1.05rem;height:1.05rem;padding:0 .2rem;border:2px solid var(--card);border-radius:999px;background:var(--primary);color:#fff;font-size:.6rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}

/* thread rows */
.va-inbox .thread{align-items:flex-start;transition:background-color .12s}
.va-inbox .thread[aria-current=true]{box-shadow:inset 3px 0 0 var(--primary)}
.va-inbox .thread .grow{display:flex;flex-direction:column}
.va-inbox .thread .nm{align-items:baseline}
.va-nm{display:flex;align-items:center;gap:.3rem;min-width:0}
.va-inbox .thread.unread .va-nm{font-weight:600}
.va-inbox .thread.unread time{color:var(--primary);font-weight:500}
.va-pv{display:flex;align-items:center;gap:.3rem;min-width:0}
.va-pv>svg.i{width:.75rem;height:.75rem;opacity:.75}
.va-pv>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.va-flags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}
.va-star{display:inline-flex;flex:none}
.va-star svg.i{fill:currentColor}

/* conversation */
.va-convo-pane{min-width:0}
.va-convo-center{align-items:center;justify-content:center}
.va-convo-center .empty{max-width:24rem}
.va-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}
.va-who strong{display:flex;align-items:center;gap:.4rem;min-width:0;font-size:.875rem;font-weight:500;color:var(--heading)}
.va-who small{font-size:.75rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.va-head-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.25rem}
.va-stay-chip{margin-right:.25rem}
.va-stay-chip svg.i{width:.8rem;height:.8rem}
.va-back{display:none}
.va-inbox .msg .meta svg.i{opacity:.8}
.msg.out .actions{justify-content:flex-end}
.msg.internal .meta{justify-content:center}
.va-st{font-weight:500}
.va-st.warn{color:var(--warning)}
.va-st.danger{color:var(--destructive)}
.va-auto{display:inline-flex;align-items:center;gap:.2rem;padding:0 .35rem;border-radius:999px;background:var(--muted)}
.va-msg-hint{display:flex;align-items:flex-start;gap:.35rem;max-width:26rem;margin:.1rem 0 .15rem;font-size:.6875rem;line-height:1.45;color:var(--warning)}
.va-msg-hint.danger{color:var(--destructive)}
.va-msg-hint svg.i{margin-top:.12rem}
.va-discarded{align-self:flex-end;display:flex;align-items:center;gap:.35rem;max-width:min(30rem,82%);font-size:.6875rem;color:var(--muted-foreground);overflow:hidden}
.va-discarded s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}

/* composer */
.va-composer-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.va-compose-select{width:12rem;max-width:100%;min-width:8rem;height:2.1rem;flex:0 1 12rem}
.va-compose-picker{flex:0 1 auto;min-width:0}
.va-compose-trigger{height:2rem;width:auto;max-width:100%;gap:.35rem;padding:0 .35rem;border:0;background:transparent;box-shadow:none;font-weight:400;color:var(--muted-foreground)}
.va-compose-trigger:hover,.va-compose-trigger[aria-expanded=true]{border:0;background:transparent;color:var(--heading)}
.va-compose-menu{top:auto;right:0;bottom:calc(100% + .35rem);left:auto;min-width:11rem;max-height:min(17rem,calc(100dvh - 1rem));overflow-y:auto}
.va-tpl-slot{flex:1 1 10rem;max-width:15rem;margin-left:auto}
.va-tpl-slot:empty{display:none}
.va-tpl-slot select{height:1.95rem}
.va-warn-slot:empty{display:none}
.va-warn-slot .callout{padding:.5rem .7rem;font-size:.75rem}
.va-composer-foot{display:grid;grid-template-columns:minmax(0,1fr) 6rem;align-items:center;gap:.5rem;min-height:2.4rem}
.va-composer-foot>.btn{min-width:6rem}
.va-hint{min-width:0;min-height:2.1rem;max-height:2.1rem;overflow:hidden;display:flex;align-items:flex-start;gap:.4rem;margin:0;font-size:.75rem;line-height:1.4;color:var(--muted-foreground)}
.va-hint svg.i{width:.875rem;height:.875rem;margin-top:.05rem}
.va-hint.warn{color:var(--warning)}
.va-hint.ok svg.i{color:var(--success)}
.va-msg-translation{display:grid;gap:.15rem;margin-top:.55rem;padding-top:.45rem;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);font-size:.78rem;opacity:.82}
.va-msg-translation strong{font-size:.7rem;font-weight:650}
@media (max-width:1100px){
  .va-composer-foot{grid-template-columns:minmax(0,1fr) 6rem;grid-template-rows:2.1rem auto}
  .va-hint{grid-column:1/-1;grid-row:1}
  .va-composer-foot>.btn{grid-column:2;grid-row:2}
}

/* guest side panel */
.va-side-hero{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.5rem 0 .25rem;text-align:center}
.va-side-hero h3{display:flex;align-items:center;gap:.35rem;font-size:1rem;overflow-wrap:anywhere}
.va-side-hero p{font-size:.75rem;color:var(--muted-foreground)}
.va-side-block{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.va-label{margin:0;font-size:.6875rem;font-weight:500;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em}
.va-contact{display:flex;flex-direction:column;gap:.1rem;font-size:.8125rem}
.va-contact a,.va-contact .va-c{display:flex;align-items:center;gap:.55rem;min-width:0;margin:0 -.4rem;padding:.3rem .4rem;border-radius:.45rem;color:var(--foreground);text-decoration:none}
.va-contact a:hover{background:var(--accent);color:var(--heading)}
.va-contact svg.i{color:var(--muted-foreground)}
.va-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.va-stat{min-width:0;padding:.55rem .65rem;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--surface-subtle)}
.va-stat b{display:block;overflow:hidden;font-size:.9375rem;font-weight:500;color:var(--heading);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis}
.va-stat span{display:block;font-size:.6875rem;color:var(--muted-foreground)}
.va-stay-card{display:flex;flex-direction:column;gap:.45rem;width:100%;padding:.75rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.va-stay-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:var(--shadow)}
.va-stay-card .va-top,.va-stay-card .va-sub{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
.va-stay-card strong{font-size:.875rem;font-weight:500;color:var(--heading)}
.va-stay-card .va-sub{font-size:.75rem;color:var(--muted-foreground)}
.va-tags{display:flex;flex-wrap:wrap;gap:.25rem}
.va-note{margin:0;padding:.6rem .7rem;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--surface-subtle);font-size:.8125rem;line-height:1.5;color:var(--foreground)}
.va-note.private{background:var(--warning-bg);border-color:transparent;color:var(--heading)}
.va-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}
.va-task-lines{display:flex;flex-direction:column}
.va-task-line{display:flex;align-items:center;gap:.5rem;min-width:0;margin:0 -.4rem;padding:.35rem .4rem;border:0;border-radius:.45rem;background:none;font:inherit;font-size:.8125rem;color:var(--foreground);text-align:left;cursor:pointer}
.va-task-line:hover{background:var(--accent)}
.va-task-line .truncate{flex:1;min-width:0}
.va-due{font-size:.6875rem;color:var(--muted-foreground);white-space:nowrap}
.va-side-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:auto;padding-top:.25rem}

/* new conversation dialog */
.va-pick-list{display:flex;flex-direction:column;max-height:17rem;overflow-y:auto;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px)}
.va-pick{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .75rem;border:0;border-top:1px solid var(--border);background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.va-pick:first-child{border-top:0}
.va-pick:hover,button.va-pick:focus-visible{background:var(--accent);outline:none;box-shadow:none}
.va-pick .grow{flex:1;min-width:0}
.va-pick strong{display:flex;align-items:center;gap:.3rem;min-width:0;font-size:.8125rem;font-weight:500;color:var(--heading)}
.va-pick small{display:block;overflow:hidden;font-size:.75rem;color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis}
.va-pick-empty{margin:0;padding:1rem;font-size:.8125rem;color:var(--muted-foreground);text-align:center}
.va-or{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:var(--muted-foreground)}
.va-or::before,.va-or::after{content:"";flex:1;height:1px;background:var(--border)}
.va-create{padding:.875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle)}

/* ---------- guests ---------- */
.va-guest-tools{display:flex;flex-direction:column;gap:.75rem}
.va-guest-tools .toolbar{margin:0}
.va-guest-card{overflow:hidden}
.va-guests .table td{vertical-align:middle}
.va-guests .who>div{min-width:0;max-width:17rem}
.va-guests .who strong.va-name{display:flex;align-items:center;gap:.35rem;min-width:0}
.va-unread{display:inline-grid;place-items:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;border-radius:999px;background:var(--primary);color:var(--primary-foreground);font-size:.625rem;font-weight:600}
.va-sort{display:inline-flex;align-items:center;gap:.25rem;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer}
.va-sort:hover{color:var(--heading)}
.va-sort svg.i{width:.75rem;height:.75rem;opacity:0;transition:opacity .12s}
.va-sort:hover svg.i{opacity:.45}
th[aria-sort] .va-sort{color:var(--heading)}
th[aria-sort] .va-sort svg.i{opacity:1}
th.num .va-sort{flex-direction:row-reverse}
.va-stay-cell span,.va-stay-cell small{display:block;white-space:nowrap}
.va-stay-cell small{font-size:.75rem;color:var(--muted-foreground)}
.va-now{color:var(--success);font-weight:500}
.va-guests tbody tr:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}
.va-table-foot{padding:.6rem 1rem;border-top:1px solid var(--border);background:var(--surface-subtle);font-size:.75rem;color:var(--muted-foreground)}

/* guest drawer */
.va-quick{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}
.va-section{display:flex;flex-direction:column;gap:.75rem;min-width:0}
.va-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:1.75rem}
.va-section-title{font-size:.8125rem;font-weight:500;color:var(--heading)}
.va-toggles{display:flex;flex-direction:column;gap:.9rem}
.va-toggle-row .hint{margin:.2rem 0 0 2.6rem}
.va-danger{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:.875rem 1rem;border:1px solid color-mix(in srgb,var(--destructive) 28%,var(--border));border-radius:var(--radius);background:color-mix(in srgb,var(--destructive) 3%,var(--card))}
.va-danger strong{display:block;font-size:.8125rem;font-weight:500;color:var(--heading)}
.va-danger p{max-width:30rem;margin-top:.15rem;font-size:.75rem;line-height:1.45;color:var(--muted-foreground)}
.va-foot-hint{display:flex;align-items:center;gap:.4rem;margin-right:auto;font-size:.75rem;color:var(--muted-foreground)}
.va-foot-hint.dirty{color:var(--warning)}
.va-date-tile{display:grid;place-items:center;align-content:center;flex:none;width:2.5rem;height:2.5rem;border-radius:.6rem;background:var(--muted);line-height:1}
.va-date-tile b{font-size:.9375rem;font-weight:500;color:var(--heading)}
.va-date-tile span{margin-top:.15rem;font-size:.5625rem;font-weight:500;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}
.va-right{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex:none}
.va-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .6rem}
.va-muted-row{opacity:.6}
.va-ev-head{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;font-size:.75rem}
.va-ev-head strong{font-weight:500;color:var(--heading)}
.timeline .va-ev-head time{display:inline;margin-left:auto}
.va-msg-timeline .ev .grow,.va-activity .ev .grow{flex:1;min-width:0}
.va-ev-subj{margin-top:.2rem;font-weight:500;color:var(--heading)}
.va-msg-timeline p{margin-top:.2rem;color:var(--foreground)}
.va-discarded-ev p{text-decoration:line-through;color:var(--muted-foreground)}
.timeline .ev.va-in .dot,.timeline .ev.va-tone-info .dot{color:var(--primary)}
.timeline .ev.va-out .dot,.timeline .ev.va-tone-success .dot{color:var(--success)}
.timeline .ev.va-internal .dot{color:var(--warning)}
.timeline .ev.va-tone-danger .dot{color:var(--destructive)}
.timeline .ev.va-tone-neutral .dot{color:var(--muted-foreground)}
.va-activity .va-ev-head{font-size:.8125rem}
.va-ev-detail{margin-top:.1rem;font-size:.75rem;color:var(--muted-foreground);overflow-wrap:anywhere}
.va-link{padding:0;border:0;background:none;font:inherit;color:var(--primary);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--primary) 35%,transparent);text-underline-offset:3px;cursor:pointer}
.va-link:hover{text-decoration-color:currentColor}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .va-col-tags,.va-col-source{display:none}
  .va-head-actions .btn:not(.icon) .label{display:none}
}
@media (max-width:860px){
  .va-inbox-card>.inbox{height:auto}
  .va-inbox>section+section{border-top:0}
  .va-inbox:not(.is-open)>.va-convo-pane{display:none}
  .va-inbox.is-open>.va-list-pane{display:none}
  .va-inbox-card>.inbox.is-open{height:calc(100svh - var(--topbar-h) - 2rem - 2px);min-height:26rem}
  .va-inbox .thread-list{max-height:none}
  .va-inbox .convo{min-height:0;padding:1rem .875rem}
  .va-back{display:inline-flex}
  .va-tpl-slot{max-width:none;margin-left:0}
  .va-guests .who>div{max-width:12rem}
}
@media (max-width:640px){
  .va-col-nights,.va-col-stays{display:none}
  .va-toggle-row .hint{margin-left:0}
}
@media (max-width:520px){
  .va-stay-chip{display:none}
  .va-inbox .convo-head{gap:.5rem;padding:.6rem .75rem}
  .va-inbox .msg{max-width:90%}
  .va-composer-foot{grid-template-columns:minmax(0,1fr) 6rem;grid-template-rows:2.1rem auto}
  .va-hint{grid-column:1/-1;grid-row:1}
  .va-composer-foot>.btn{grid-column:2;grid-row:2}
}

/* Conversations: channel connections and filters */
.va-conn-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap;min-height:3.75rem}
.va-conn{display:flex;align-items:center;gap:.65rem;padding:.55rem .65rem .55rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);cursor:pointer;font:inherit;color:inherit;text-align:left;min-width:15rem;flex:0 1 20rem;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}
.va-conn:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:var(--shadow)}
.va-conn-ico{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.6rem;background:var(--muted);color:var(--muted-foreground);flex:none}
.va-conn.on .va-conn-ico{background:var(--success-bg);color:var(--success)}
.va-conn-text{display:flex;flex-direction:column;min-width:0;flex:1}
.va-conn-text strong{font-size:.8125rem;font-weight:500;color:var(--heading)}
.va-conn-text small{font-size:.75rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.va-conn .btn{pointer-events:none}
.va-conn-note{flex:1 1 14rem;font-size:.75rem;color:var(--muted-foreground);margin:0}
.va-convo-filter{display:flex;align-items:center;gap:.6rem;padding:.45rem 1rem;border-bottom:1px solid var(--border);background:var(--card);overflow-x:auto}
.va-head-tools{position:relative;z-index:3;display:flex;align-items:center;gap:.25rem;flex:none}
.va-message-filter-picker{position:relative;flex:0 0 2rem;min-width:2rem}
.va-message-filter-trigger{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;background:transparent;color:var(--muted-foreground);box-shadow:none;cursor:pointer}
.va-message-filter-trigger:hover,.va-message-filter-trigger[aria-expanded=true],.va-message-filter-trigger.va-message-filter-active{color:var(--primary)}
.va-message-filter-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.va-message-filter-trigger>svg.i{margin:0;transform:none}
.va-message-filter-menu{left:auto;right:0;min-width:10rem}
.va-consent-evidence{margin:0;padding:.7rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem}
.va-convo-filter .seg button svg.i{width:.75rem;height:.75rem}
@media (max-width:860px){.app.inbox-view .topbar{display:flex;height:2.5rem;padding:.25rem .5rem;border-bottom:0;background:var(--background);backdrop-filter:none}.app.inbox-view .topbar .page-title,.app.inbox-view #search-trigger,.app.inbox-view #top-actions{display:none}.app.inbox-view .view{padding:.5rem}.app.inbox-view .va-inbox-card>.inbox{height:auto}.va-inbox-card>.inbox{height:auto}.va-conn{flex:1 1 100%}.va-conn-note{display:none}}

/* WhatsApp reply, media and assisted-draft controls */
.va-media-tools{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.va-ai-trigger{white-space:nowrap;color:var(--primary);border-color:color-mix(in srgb,var(--primary) 25%,var(--border))}
.va-composer-top>.va-media-tools{margin-left:auto;flex-wrap:nowrap}
.va-message-editor{border:1px solid var(--input);border-radius:var(--radius);background:var(--surface-subtle);overflow:visible}
.va-message-editor:focus-within{border-color:var(--ring)}
.composer .va-message-editor>textarea{display:block;border:0;border-radius:0;box-shadow:none;background:transparent;resize:none;height:calc(1.5em + .975rem);min-height:0;max-height:none;overflow-y:auto;padding:.625rem .75rem .35rem}
.va-message-editor .va-editor-toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:.35rem;padding:.35rem .5rem .5rem}
.va-editor-actions{display:flex;align-items:center;gap:.35rem;margin-left:auto;min-width:0}
.va-editor-toolbar .va-compose-add,.va-editor-toolbar .va-ai-trigger{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;background:transparent;box-shadow:none;color:var(--muted-foreground)}
.va-editor-toolbar .va-compose-add:hover,.va-editor-toolbar .va-ai-trigger:hover{color:var(--primary)}
.va-add-menu-note{max-width:17rem;margin:0;padding:.4rem .6rem;font-size:.75rem;line-height:1.4;color:var(--muted-foreground)}
.va-editor-toolbar .va-compose-send{display:grid;place-items:center;width:2rem;height:2rem;min-width:2rem;padding:0;border:0;border-radius:50%;box-shadow:none}
.va-compose-send>svg.i{transform:rotate(-90deg)}
.va-compose-send-slot{display:flex;align-items:center;flex:none}
.composer .va-composer-foot{display:block;min-height:0}
.composer .va-hint{min-height:0;max-height:none}
.va-ai-progress{display:flex;align-items:center;gap:.65rem;padding:.85rem;border-radius:.6rem;background:var(--muted);font-size:.875rem;color:var(--muted-foreground)}
.va-ai-progress[hidden]{display:none}
.va-ai-spinner{width:1rem;height:1rem;flex:none;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:va-ai-spin .8s linear infinite}
@keyframes va-ai-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.va-ai-spinner{animation:none}}
.va-attachment-draft:empty{display:none}
.va-attachment-chip{display:flex;align-items:center;gap:.5rem;max-width:100%;padding:.35rem .55rem;border:1px solid var(--border);border-radius:.65rem;background:var(--muted);font-size:.75rem;color:var(--heading)}
.va-attachment-chip .truncate{min-width:0;max-width:28rem}
.va-location-panel{display:grid;gap:.5rem;padding:.65rem;border:1px solid var(--border);border-radius:.7rem;background:var(--card)}
.va-location-panel[hidden]{display:none}
.va-location-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
.va-location-fields input{min-width:0}
.va-location-link{display:inline-flex;align-items:flex-start;gap:.55rem;margin-top:.4rem;padding:.6rem .7rem;border:1px solid var(--border);border-radius:.7rem;color:var(--heading);text-decoration:none;background:var(--card)}
.va-location-link>span{display:grid;gap:.2rem;font-weight:500}
.va-location-link small{font-size:.7rem;color:var(--muted-foreground);font-weight:400}
.va-media-image{display:block;margin-top:.4rem;max-width:min(24rem,100%);overflow:hidden;border-radius:.65rem}
.va-media-image img{display:block;max-width:100%;max-height:22rem;object-fit:contain}
.va-media-player{display:block;width:min(24rem,100%);max-height:20rem;margin-top:.4rem;border-radius:.65rem;background:#111}
.va-audio-player{display:block;width:min(22rem,100%);margin-top:.4rem}
.va-reply-preview{display:grid;gap:.2rem;margin:-.25rem -.25rem .45rem;padding:.4rem .55rem;border-left:3px solid var(--primary);border-radius:.35rem;background:color-mix(in srgb,var(--primary) 8%,var(--card));font-size:.72rem}
.va-reply-preview strong{font-size:.68rem;color:var(--primary)}
.va-reply-preview span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;white-space:normal}
.va-reply-strip{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .6rem;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--border));border-radius:.65rem;background:color-mix(in srgb,var(--primary) 7%,var(--card));font-size:.75rem;color:var(--heading)}
.va-reply-strip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.va-ai-results{display:grid;gap:.6rem}
.va-ai-option{padding:.75rem;border:1px solid var(--border);border-radius:.7rem;background:var(--card)}
.va-ai-option p{margin:.5rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--foreground)}
@media(max-width:520px){.va-location-fields{grid-template-columns:1fr}.va-media-tools{width:auto}.va-media-tools .btn{flex:none}.va-ai-option .row{align-items:flex-start}}

/* Compact website previews in the composer and conversation. */
.va-compose-link:empty,.va-message-link:empty{display:none}
.va-compose-link{padding:0 .5rem .35rem}
.va-message-link{margin-top:.6rem;max-width:24rem}
.va-link-card{display:flex;align-items:center;gap:.7rem;width:100%;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:.65rem;background:var(--muted);color:var(--heading);text-decoration:none}
.va-link-card:hover{color:var(--heading);border-color:var(--primary)}
.va-link-card>img{flex:0 0 4.5rem;width:4.5rem;height:4.5rem;object-fit:cover}
.va-link-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 3rem;height:4rem;color:var(--muted-foreground)}
.va-link-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.5rem .6rem .5rem 0;font-size:.75rem;line-height:1.35}
.va-link-copy strong{font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.va-link-copy>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted-foreground)}
.va-link-copy small{font-size:.67rem;color:var(--muted-foreground)}

/* Emails use readable document spacing rather than HTML layout whitespace. */
.va-inbox .msg.va-email-message{width:min(42rem,100%);max-width:100%;flex-shrink:0}
.va-inbox .msg.va-email-message .va-email-card{width:100%;box-sizing:border-box;padding:1rem;white-space:normal;background:var(--card);color:var(--heading);border:1px solid var(--border);line-height:1.6}
.va-inbox .msg.out.va-email-message .va-email-card{border-left:3px solid var(--primary)}
.va-inbox .msg.va-email-message .subj{margin:0 0 .75rem;padding-bottom:.65rem;border-bottom:1px solid var(--border);font-weight:600;line-height:1.4}
.va-email-body p{margin:0 0 .75rem;white-space:pre-line;overflow-wrap:anywhere}
.va-email-body p:last-child{margin-bottom:0}
.va-email-body a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}
.va-email-body a:hover{text-decoration-thickness:2px}

/* Keep the guest name readable when several bookings need a selector. */
@media (max-width:520px){
  .va-inbox .convo-head:has(.va-bookings-trigger){flex-wrap:wrap}
  .va-inbox .convo-head:has(.va-bookings-trigger) .va-who{flex-basis:calc(100% - 6rem)}
  .va-inbox .convo-head:has(.va-bookings-trigger) .va-head-actions{margin-left:auto}
}

/* Keep every reservation column visible; long guest and block text wraps in its column. */
.reservations-table-wrap{width:100%;min-width:0;overflow-x:visible}
.reservations-table{table-layout:fixed;width:100%}
.reservations-table th,.reservations-table td{padding:.65rem .6rem;white-space:normal;overflow-wrap:anywhere}
.reservations-table .who{align-items:flex-start;gap:.5rem}
.reservations-table .who>.avatar{flex-shrink:0}
.reservations-table .who>div{flex:1;min-width:0}
.reservations-table .truncate{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.reservations-table .badge{height:auto;min-height:1.375rem;max-width:100%;white-space:normal;padding:.2rem .5rem;line-height:1.25}
.reservations-table .ch-tag{white-space:normal;max-width:100%}
.reservations-table .badge:before,.reservations-table .ch-tag:before{flex-shrink:0}
@media(max-width:1150px){
  .reservations-table,.reservations-table tbody,.reservations-table tfoot{display:block}
  .reservations-table colgroup{display:none}
  .reservations-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .reservations-table tbody>tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.5rem;border-bottom:1px solid var(--border)}
  .reservations-table tbody>tr:last-child{border-bottom:0}
  .reservations-table tbody td{display:block;min-width:0;border:0;text-align:left;padding:.45rem .6rem}
  .reservations-table tbody td:first-child{grid-column:1/-1}
  .reservations-table tbody td::before{content:attr(data-label);display:block;margin-bottom:.25rem;color:var(--muted-foreground);font-size:.6875rem;font-weight:500}
  .reservations-table tfoot>tr{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding:.75rem 1rem;background:var(--surface-subtle)}
  .reservations-table tfoot td{padding:0;border:0;text-align:left}
  .reservations-table tfoot td:empty{display:none}
  .reservations-table tfoot td[data-label]::before{content:attr(data-label) ': ';font-weight:400;color:var(--muted-foreground)}
}
