.messages-heading{border-bottom:1px solid var(--ink);padding-bottom:25px}.messages-heading>span{max-width:none}.message-work{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:640px;border-bottom:1px solid var(--line)}.inbox{border-right:1px solid var(--line);padding:22px 0;min-width:0}.inbox-search,.inbox-filter{display:block;padding:0 20px;font-size:11px}.inbox-search input,.inbox-filter select{display:block;width:100%;background:none;border:1px solid var(--control-border);border-radius:0;min-height:44px;padding:10px;margin:7px 0 17px;font-size:13px}.thread-link{display:block;padding:22px 20px;border-bottom:1px solid var(--line)}.thread-link:hover{background:var(--pale)}.thread-link.selected{background:var(--pale)}.thread-link .byline{gap:10px}.thread-link .byline>span:not(.thread-initial):not(.unread-count){min-width:0}.thread-link p{font-size:11px;color:var(--muted);margin-top:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.thread-initial{width:36px;height:48px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);font-size:12px}.unread-count{margin-left:auto;min-width:22px;height:22px;display:grid;place-items:center;background:var(--wine);color:var(--paper);font-size:10px;border-radius:50%}.inbox-note,.inbox-empty{padding:24px 20px 0;font-size:11px;color:var(--muted);line-height:1.7}.inbox-empty button{font-size:11px;margin-top:15px;min-height:44px;padding:0}.conversation-empty{align-self:center;padding:60px;min-width:0}.conversation-empty h2{font:400 56px/1 var(--serif);letter-spacing:-.025em;margin-bottom:24px}.conversation-empty p{font-size:13px;line-height:1.8;color:var(--copy);margin-bottom:25px}.conversation-empty .fine{font-size:11px;margin:24px 0 0}.private-conversation{display:flex;flex-direction:column;min-width:0;padding:0 32px;height:clamp(640px,76dvh,840px)}.conversation-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px 0;border-bottom:1px solid var(--line);min-height:95px}.conversation-head h2{font:500 18px var(--sans);letter-spacing:normal}.conversation-head .byline small{margin-top:5px}.conversation-tools{display:flex;gap:20px;align-items:center}.conversation-tools>*{font-size:12px;min-height:44px;display:inline-flex;align-items:center}.inbox-back{display:none!important}.private-log{display:flex;flex-direction:column;gap:28px;flex:1;min-height:160px;overflow-y:auto;overscroll-behavior:contain;padding:28px 4px 28px 0;overflow-wrap:anywhere}.private-log:focus-visible{outline:2px solid var(--wine);outline-offset:-2px}.private-line{max-width:min(88%,72ch);min-width:140px}.private-line.own{align-self:flex-end;border-bottom:1px solid var(--line);padding-bottom:10px}.private-line-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 18px;font-size:11px;margin-bottom:9px}.private-line-meta strong{font-weight:500}.private-line-meta span{font-size:10px;color:var(--muted)}.private-line p{white-space:pre-wrap;font-size:14px;line-height:1.7}.message-report{font-size:10px;color:var(--muted);margin-top:8px;padding:5px 0;min-height:28px}.private-empty{margin:auto 0;padding:25px 0}.private-empty h3{font:400 43px/1 var(--serif);letter-spacing:-.02em;margin-bottom:20px}.private-empty p{color:var(--muted);font-size:12px;line-height:1.8}.private-bottom{border-top:1px solid var(--line);padding:15px 0 20px}.private-context{font-size:11px;color:var(--muted);line-height:1.7;margin-bottom:18px}.private-message-form>label{font-size:11px;display:block;margin-bottom:8px}.private-composer{display:flex;gap:10px;align-items:stretch}.private-composer textarea{resize:vertical;min-height:62px;max-height:160px;min-width:0;flex:1;background:none;border:1px solid var(--control-border);padding:12px;border-radius:0;font-size:14px;line-height:1.5;caret-color:var(--wine)}textarea::placeholder{color:var(--muted)}textarea:focus-visible{outline:2px solid var(--wine);outline-offset:3px}textarea:disabled{opacity:1;color:var(--muted)}.private-composer button{min-width:100px}.private-message-form>.fine{margin-top:9px;font-size:10px}.recipient-state{font-size:12px;color:var(--wine);margin-bottom:8px}.private-bottom>.text-link{font-size:12px;min-height:44px;padding:0;margin-bottom:10px}.private-attempt{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;padding:0 0 16px;color:var(--wine);font-size:12px}.private-attempt>span{flex-basis:100%}.private-attempt small{font-size:10px;overflow-wrap:anywhere}.private-attempt button{margin-left:auto;font-size:12px}.conversation-facts{font-size:12px;line-height:1.7;margin:25px 0}.conversation-facts dt{color:var(--muted);font-size:10px;margin-top:14px}.conversation-facts dd{margin:3px 0 0;overflow-wrap:anywhere}.details-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.report-history{margin-top:18px}.report-form{margin-top:25px}.report-form textarea{display:block;width:100%;min-height:95px;background:none;border:1px solid var(--control-border);padding:10px;margin-top:8px;resize:vertical}.report-form>.fine{margin:15px 0}.report-target{font-size:11px;color:var(--muted);overflow-wrap:anywhere;margin-top:18px}.private-attempt,.recipient-state{animation:line-reveal .6s cubic-bezier(.16,1,.3,1)}
@media(max-width:1150px){.message-work{grid-template-columns:250px minmax(0,1fr)}.private-conversation{padding:0 25px}.conversation-empty{padding:40px}.conversation-empty h2{font-size:48px}}
@media(max-width:850px){.message-work{grid-template-columns:210px minmax(0,1fr)}.thread-link{padding:20px 14px}.inbox-search,.inbox-filter{padding:0 14px}.private-conversation{padding:0 20px}.conversation-head .byline{gap:9px}.conversation-head h2{font-size:16px}.conversation-empty{padding:30px}.conversation-empty h2{font-size:43px}.private-composer{flex-wrap:wrap}.private-composer textarea{flex-basis:100%}.private-composer button{margin-left:auto;min-height:44px}.private-context{font-size:10px}}
@media(max-width:600px){.messages-heading{display:block}.messages-heading>span{display:block;text-align:left;margin-top:18px;font-size:11px}.message-work{display:flex;flex-direction:column;min-height:550px}.inbox{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.inbox-search,.inbox-filter{padding:0}.inbox-search input,.inbox-filter select{font-size:14px}.thread-link{padding:20px 12px}.inbox-note{padding:20px 0 0}.conversation-empty{padding:40px 0}.conversation-empty h2{font-size:48px}.message-work.has-selection>.inbox{display:none}.private-conversation{padding:0;height:auto;min-height:650px;max-height:none}.conversation-head{padding:18px 0;min-height:88px}.conversation-tools{gap:15px}.conversation-tools>*{font-size:11px}.inbox-back{display:inline-flex!important}.private-log{height:330px;min-height:180px;max-height:55dvh;flex:1 1 auto;gap:25px}.private-line{max-width:92%}.private-line p{font-size:14px}.private-line-meta{gap:6px 12px;font-size:10px}.message-report{min-height:44px}.private-empty h3{font-size:39px}.private-context{font-size:11px}.private-composer{flex-wrap:nowrap;gap:8px}.private-composer textarea{flex-basis:auto;min-height:78px;font-size:16px}.private-composer button{min-width:72px;padding:10px}.private-composer .icon{display:none}.private-attempt button{margin-left:0}.private-message-form>label{font-size:12px}.private-bottom{padding-bottom:16px}.inbox-empty{padding:20px 0}}

/* A selected thread is a working viewport: shell and composer stay in view,
   while history and the desktop inbox keep their own reading positions. */
#app.thread-page {
  display: flex;
  flex-direction: column;
  height: 100dvh;
}
.thread-page .review-bar,
.thread-page .site-header,
.thread-page .site-footer,
.thread-page .messages-heading,
.thread-page .notice,
.thread-page .finance-recovery {
  flex-shrink: 0;
}
.thread-page .main {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.thread-page .messages-heading {
  padding-top: 24px;
  padding-bottom: 20px;
}
.thread-page .message-work {
  flex: 1;
  min-height: 0;
}
.thread-page .inbox {
  min-height: 0;
  overflow-y: auto;
}
.thread-page .private-conversation {
  height: 100%;
  min-height: 0;
  /* When chrome plus recovery exceeds the available row, scroll the whole
     conversation instead of painting its composer beneath the footer. */
  overflow-y: auto;
}
.thread-page .conversation-head,
.thread-page .private-bottom {
  flex-shrink: 0;
}
.thread-page .private-log {
  flex: 1 1 0;
  height: auto;
  min-height: 130px;
  max-height: none;
}
.thread-page .site-footer {
  margin-top: 0;
  padding-top: 10px;
  padding-bottom: 10px;
}
@media (max-width: 600px) {
  /* Keep the page heading available to assistive technology. The visible
     participant header and Inbox link already identify the selected thread. */
  .thread-page .selected-thread-heading {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .thread-page .private-conversation {
    flex: 1;
    height: auto;
  }
  .thread-page .site-footer {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}

.message-attachment{border-top:1px solid var(--line);margin-top:18px;padding-top:18px;max-width:62ch}.message-attachment h3{font:500 17px/1.4 var(--sans);margin:0 0 8px}.message-attachment p,.attachment-prepare p{font-size:12px;line-height:1.7;white-space:normal;margin:10px 0}.attachment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.attachment-actions>p,.attachment-actions>h4,.attachment-actions>dl{flex-basis:100%}.message-attachment audio,.attachment-prepare audio{display:block;width:100%;min-width:0;max-width:420px;margin:16px 0}.message-attachment details{margin:18px 0 8px;overflow-wrap:anywhere;font-size:12px}.message-attachment summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.attachment-prepare{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;max-width:65ch}.attachment-prepare .secondary{min-height:44px}.message-attachment .finance-costs{width:100%}.message-attachment .fine{color:var(--muted)}.message-attachment h4{font-size:18px;line-height:1.4;margin:8px 0}
@media(max-width:600px){.message-attachment{min-width:0}.attachment-actions>*{max-width:100%;overflow-wrap:anywhere}.message-attachment audio,.attachment-prepare audio{max-width:100%}.attachment-prepare p{font-size:11px}}

.thread-link.selected :is(p,.byline small),.thread-link:hover :is(p,.byline small){color:var(--copy)}
