.chat-page{flex-direction:column;gap:14px;max-width:900px;display:flex}.chat-pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.chat-pagehead h1{letter-spacing:-.03em;font-size:clamp(24px,4.2vw,30px)}.chat-pagehead p{margin-top:4px}.chat-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chat-search{flex:220px;min-width:0;display:flex;position:relative}.chat-search .input{flex:1;padding-left:38px}.chat-search svg{color:var(--faint);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.chat-tabs{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.chat-tabs::-webkit-scrollbar{display:none}.chat-tab{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:9px 14px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.chat-tab:hover{border-color:var(--ink-2);color:var(--ink)}.chat-tab[aria-current=page]{background:var(--ink);border-color:var(--ink);color:#fdf6dd}.chat-tab-count{background:var(--brand-soft);min-width:19px;height:19px;color:var(--brand-ink);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 6px;font-size:11.5px;font-weight:750;display:inline-grid}.chat-tab[aria-current=page] .chat-tab-count{background:var(--brand);color:var(--brand-ink)}.thread-list{flex-direction:column;gap:8px;display:flex}.thread-row{border-radius:var(--radius);color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;text-decoration:none;display:grid}.thread-row:hover{border-color:var(--line-strong);background:#fffef8}.thread-row[data-unread=true]{background:linear-gradient(0deg, var(--brand-soft), var(--brand-soft));border-color:var(--brand-line)}.thread-avatar{flex:none;position:relative}.thread-dot{background:var(--brand-strong);border:2px solid var(--surface);border-radius:50%;width:11px;height:11px;position:absolute;bottom:1px;right:0}.thread-body{flex-direction:column;gap:2px;min-width:0;display:flex}.thread-top{align-items:baseline;gap:8px;min-width:0;display:flex}.thread-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:700;overflow:hidden}.thread-listing{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.thread-preview{color:var(--muted);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.thread-row[data-unread=true] .thread-preview{color:var(--ink-2)}.thread-side{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.thread-time{color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11.5px}.thread-flag{color:var(--brand-ink);background:var(--brand);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.thread-shell{flex-direction:column;gap:12px;max-width:860px;display:flex}.thread-head{flex-wrap:wrap;align-items:center;gap:12px;padding:13px 15px;display:flex}.thread-head-main{flex:220px;align-items:center;gap:12px;min-width:0;display:flex}.thread-head-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.thread-head-name{letter-spacing:-.01em;font-size:15.5px;font-weight:700}.thread-head-actions{flex-wrap:wrap;gap:8px;display:flex}.chat-card{flex-direction:column;display:flex;overflow:hidden}.chat-scroll{background:radial-gradient(circle at 1px 1px, #241f0c0b 1px, transparent 0) 0 0 / 16px 16px, var(--surface-2);flex-direction:column;gap:10px;min-height:220px;max-height:min(58dvh,520px);padding:16px 14px;display:flex;overflow-y:auto}.chat-day{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;align-self:center;padding:3px 11px;font-size:11.5px;font-weight:650}.msg{flex-direction:column;align-items:flex-start;gap:3px;max-width:100%;display:flex}.msg-mine{align-items:flex-end}.msg-bubble{background:var(--surface);border:1px solid var(--line);max-width:min(82%,560px);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:var(--shadow-xs);border-radius:16px 16px 16px 6px;padding:9px 13px;font-size:13.8px;line-height:1.5}.msg-mine .msg-bubble{background:var(--brand);color:var(--brand-ink);border-color:#0000;border-radius:16px 16px 6px}.msg-staff .msg-bubble{background:var(--brand-soft);border-color:var(--brand-line);color:var(--ink)}.msg-who{color:var(--brand-strong);letter-spacing:.01em;font-size:11.5px;font-weight:700}.msg-meta{color:var(--faint);padding:0 4px;font-size:11px}.chat-empty{text-align:center;align-self:center;max-width:320px;margin:auto 0}.composer{border-top:1px solid var(--line);background:var(--surface);flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.quick-row{scrollbar-width:none;gap:7px;display:flex;overflow-x:auto}.quick-row::-webkit-scrollbar{display:none}.quick-chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);white-space:nowrap;cursor:pointer;border-radius:999px;padding:7px 12px;font-size:12.5px;font-weight:600}.quick-chip:hover{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}.composer-row{align-items:flex-end;gap:8px;display:flex}.composer-row .input{resize:none;flex:1;min-height:46px;max-height:132px}.composer-send{border-radius:999px;padding:12px 20px}.panel-fold{border-radius:var(--radius)}.panel-fold>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;font-size:14px;font-weight:700;list-style:none;display:flex}.panel-fold>summary::-webkit-details-marker{display:none}.panel-fold>summary:after{content:"▾";color:var(--faint);font-size:12px}.panel-fold[open]>summary:after{content:"▴"}.panel-fold>summary:hover{color:var(--brand-strong)}.panel-body{flex-direction:column;gap:12px;padding:0 15px 15px;display:flex}.visit-row{background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;font-size:13px;display:flex}.book-list{flex-direction:column;gap:12px;display:flex}.book-card{flex-direction:column;gap:12px;padding:15px;display:flex}.book-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.book-title{flex-direction:column;gap:2px;min-width:0;display:flex}.book-title strong{letter-spacing:-.01em;font-size:15.5px}.book-title span{color:var(--faint);font-size:12px}.book-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.book-track{scrollbar-width:none;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.book-track::-webkit-scrollbar{display:none}.book-step{color:var(--faint);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;font-weight:650;display:flex}.book-step-dot{border:1.5px solid var(--line-strong);background:var(--surface);width:18px;height:18px;color:var(--faint);border-radius:50%;place-items:center;font-size:10px;display:grid}.book-step-done .book-step-dot{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.book-step-current .book-step-dot{border-color:var(--brand-strong);color:var(--brand-strong);box-shadow:0 0 0 3px var(--brand-soft)}.book-step-done,.book-step-current{color:var(--ink-2)}.book-bar{background:var(--line);border-radius:2px;flex:auto;min-width:8px;height:2px}.book-bar-done{background:var(--brand)}.book-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;display:grid}.book-fact{background:var(--surface-2);border-radius:12px;min-width:0;padding:9px 11px}.book-fact dt{color:var(--faint);font-size:11px}.book-fact dd{color:var(--ink-2);overflow-wrap:anywhere;margin:1px 0 0;font-size:13.2px;font-weight:650}.book-quote{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.book-quote strong{font-size:16px}.book-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.book-actions form{margin:0}.book-note{color:var(--faint);font-size:12px}.book-pay{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.book-pay .input{flex:150px;min-width:0}@media (min-width:760px){.chat-scroll{max-height:62dvh}.book-card{padding:18px}}@media (prefers-reduced-motion:reduce){.thread-row:hover{background:inherit}}
