/* PaceOrb chat CSS (Pace's own page, the chat, every card, the chat list, the phone list screen, Archived,
   Talk to Pace). Split #3 of index.html: moved unchanged, linked at the exact spot it used to sit so the
   cascade order is the same. The phone-only overrides and the glass-shared rules that name .pc-* classes stay in
   index.html, in the blocks they were written in. */
  /* Pace's own page: the thread and the chat list, no conversation list. One
     plain cream surface (--bg2), no illustrated tile; the cards, bubbles and
     composer stay white on it (light). Dark uses its own --bg2. */
  #page-pace, #page-pace .pace-layout, #page-pace .pace-layout.inbox-thread-open,
  #page-pace .inbox-center, #page-pace .inbox-right,
  [data-theme="dark"] #page-pace .inbox-center, [data-theme="dark"] #page-pace .inbox-right,
  [data-theme="dark"] #page-pace .pace-layout {
    background:var(--bg2) !important; background-image:none !important; }
  #page-pace .inbox-center::before, #page-pace .inbox-center::after { display:none !important; }
  #page-pace .inbox-thread-body.thread-canvas { background:none !important; background-image:none !important; }
  #page-pace .inbox-right { border-color:transparent; }
  /* The floating header gets a solid page-colour backing that ends in a short
     fade, so messages scrolling under it are hidden instead of reading through
     the frosted pills. It sits behind the pills (z-index:-1 inside the header's
     own stacking context) and is clipped by the thread's rounded edge. */
  #page-pace .inbox-thread-header::before {
    content:''; position:absolute; z-index:-1; pointer-events:none;
    top:-80px; left:-24px; right:-24px; bottom:-22px;
    background:linear-gradient(to bottom, var(--bg2) calc(100% - 14px), transparent);
  }
  @media (min-width:769px) {
    #page-pace .inbox-thread-header::before { display:none; }
    #page-pace .inbox-center { border-radius:14px 0 0 14px; }
    #page-pace .pace-layout:has(.inbox-right.ir-collapsed) .inbox-center { border-radius:14px; }
  }
  /* Pace's posts carry the orb, not a robot icon. */
  .msg-av.ai.pace-av-orb { background:none !important; border:none !important; box-shadow:none !important; }
  .msg-av.ai.pace-av-orb .pace-orb { width:22px; height:22px; }
  .pace-chip { display:inline-flex; align-items:center; padding:1px 7px; border-radius:20px; font-size:9.5px; font-weight:700;
    letter-spacing:0.03em; text-transform:uppercase; background:rgba(99,102,241,0.14); color:var(--accent); border:1px solid rgba(99,102,241,0.24); }
  .msg-wrap.pace-msg { max-width:86%; }
  /* No left accent bar: .msg-bubble is 18px-rounded, so a 3px edge is invisible
     and only costs asymmetric padding. The bot avatar and the "Pace" channel
     badge already say whose bubble this is. */
  .msg-bubble.pace-bubble { background:var(--bg); border:1px solid rgba(99,102,241,0.26); border-bottom-left-radius:4px;
    color:var(--text); white-space:normal; }
  .pace-msg-title { font-size:12px; font-weight:700; color:var(--text); margin-bottom:3px; }
  .pace-msg-body { line-height:1.55; }
  .pace-action { display:inline-flex; align-items:center; gap:5px; margin-top:9px; padding:5px 11px; border-radius:7px; cursor:pointer;
    background:var(--accent); color:#fff; border:none; font-family:inherit; font-size:11.5px; font-weight:600; }
  .pace-action:hover { filter:brightness(1.08); }
  .pace-action svg { width:12px; height:12px; }
  /* ── Pace chat (12 Oct 2026) ────────────────────────────────────────────────
     The pinned Pace thread is a chat: the same frosted header, the same thread
     surface and the same rounded composer as every conversation, with Pace's
     cards under its answers. The right panel keeps Pace's header and lists the
     chats under it. Every colour is a theme token, so dark mode follows. */
  .pc-hdr .thread-pill-left { cursor:default; }
  .pc-hdr .thread-name { cursor:default; }
  .pc-hdr .thread-sub { overflow:hidden; text-overflow:ellipsis; }
  .pc-hdr .pc-list-btn { display:none; }
  .pc-hdr .pc-back-btn { display:none; }
  /* Answers that carry cards get the room the cards need. */
  .msg-wrap.pace-msg.pc-ans.has-cards { max-width:min(640px, 94%); width:100%; }
  .msg-wrap.pace-msg.pc-ans.has-cards .msg-row { width:100%; }
  .pc-col { display:flex; flex-direction:column; gap:8px; min-width:0; flex:1 1 auto; align-items:flex-start; }
  .pc-col > .msg-bubble { max-width:100%; }
  .pc-cards { display:flex; flex-direction:column; gap:8px; align-self:stretch; min-width:0; }
  .pc-note { font-size:12px; color:var(--text2); padding:0 4px; }
  .pc-link { border:none; background:none; padding:0; margin:0; font-family:inherit; font-size:12.5px; font-weight:600;
    color:var(--accent); cursor:pointer; }
  .pc-link:hover { text-decoration:underline; }
  .pc-err { display:flex; align-items:center; flex-wrap:wrap; gap:7px; padding:8px 12px; border-radius:12px;
    font-size:12.5px; line-height:1.45; color:var(--text); background:var(--f-danger-bg); border:1px solid rgba(220,38,38,0.25); }
  .pc-err svg { width:14px; height:14px; color:var(--f-danger); flex-shrink:0; }
  .pc-load-err { align-self:center; display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--text2); }
  .pc-load-err svg { width:14px; height:14px; color:var(--f-danger); }
  .pc-loading { margin:auto; display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--text2); }
  /* The line under the answer being written, while Pace looks things up. */
  .pc-status { display:flex; align-items:center; gap:8px; padding:2px 4px; font-size:12px; color:var(--text2); }
  .pc-dots { display:inline-flex; gap:3px; color:var(--accent); }
  .pc-dots i { width:5px; height:5px; border-radius:50%; background:currentColor; opacity:0.3; animation:pcDot 1.2s ease-in-out infinite; }
  .pc-dots i:nth-child(2) { animation-delay:0.15s; }
  .pc-dots i:nth-child(3) { animation-delay:0.3s; }
  @keyframes pcDot { 0%, 80%, 100% { opacity:0.25; transform:translateY(0); } 40% { opacity:0.95; transform:translateY(-2px); } }
  .pc-spin { width:11px; height:11px; border-radius:50%; border:2px solid currentColor; border-right-color:transparent;
    display:inline-block; animation:pcSpin 0.8s linear infinite; flex-shrink:0; }
  @keyframes pcSpin { to { transform:rotate(360deg); } }

  /* Empty chat */
  .pc-empty { margin:auto; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; padding:24px 16px; max-width:540px; }
  .pc-empty .pc-empty-av { width:52px; height:52px; border-radius:16px; }
  .pc-empty .pc-empty-av svg { width:24px; height:24px; }
  .pc-empty-t { font-size:20px; font-weight:600; letter-spacing:-0.01em; color:var(--text); }
  .pc-empty-s { font-size:13px; line-height:1.5; color:var(--text2); max-width:420px; }
  .pc-starters { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:8px; }
  .pc-starter { height:34px; padding:0 14px; border-radius:17px; cursor:pointer; white-space:nowrap;
    background:var(--c-head-glass); border:1px solid var(--border2); box-shadow:inset 0 1px 0 var(--gl-hl), 0 1px 2px rgba(24,24,27,0.04);
    backdrop-filter:blur(20px) saturate(1.6); -webkit-backdrop-filter:blur(20px) saturate(1.6);
    color:var(--text); font-family:inherit; font-size:12.5px; font-weight:600; }
  .pc-starter:hover { border-color:var(--f-active-bd); color:var(--accent); }
  /* What Pace can do. The task pop-up's language (Ruby, 12 Oct 2026): grey
     liquid-glass tiles over a soft blue glow, every tile the same size, and
     group headings dark enough to read on the patterned chat background. */
  .pc-cando { position:relative; width:100%; max-width:660px; margin:6px auto 0; text-align:left; isolation:isolate; }
  .pc-cando::before { content:""; position:absolute; inset:-28px -36px; z-index:-1; pointer-events:none; border-radius:40px;
    background:radial-gradient(460px circle at 50% 42%, rgba(37,99,235,0.20), transparent 68%),
               radial-gradient(260px circle at 88% 92%, rgba(96,165,250,0.16), transparent 70%); filter:blur(6px); }
  .pc-cando.is-compact { margin:18px auto 8px; padding:16px 16px 14px; border-radius:18px;
    background:rgba(255,255,255,0.62); border:1px solid rgba(200,220,255,0.55);
    backdrop-filter:blur(28px) saturate(1.6); -webkit-backdrop-filter:blur(28px) saturate(1.6);
    box-shadow:0 14px 40px rgba(20,50,140,0.16), 0 1px 3px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.7); }
  .pc-cando-h { font-size:13px; font-weight:700; color:var(--text); margin:0 2px 10px; }
  .pc-cando-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; align-items:start; }
  .pc-cando-g { display:flex; flex-direction:column; gap:8px; min-width:0; }
  .pc-cando-gt { display:flex; align-items:center; gap:6px; height:22px; font-size:11.5px; font-weight:700; letter-spacing:0.04em;
    text-transform:uppercase; color:#1a3370; margin:0 2px; }
  .pc-cando-gt svg { width:14px; height:14px; color:#2563eb; }
  .pc-cando-q { position:relative; overflow:hidden; display:flex; align-items:center; text-align:left; height:64px; min-width:0;
    padding:0 14px; border-radius:14px; cursor:pointer; font-family:inherit; font-size:13px; font-weight:500; line-height:1.35; color:#16213e;
    background:rgba(255,255,255,0.70); border:1px solid rgba(200,220,255,0.55);
    backdrop-filter:blur(32px) saturate(1.6); -webkit-backdrop-filter:blur(32px) saturate(1.6);
    box-shadow:0 10px 28px rgba(20,50,140,0.14), 0 4px 12px rgba(30,70,160,0.08), 0 1px 3px rgba(0,0,0,0.06),
      inset 0 1px 0 rgba(255,255,255,0.7), inset 0 -1px 0 rgba(80,130,210,0.16);
    transition:transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease; }
  .pc-cando-q::before { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
    background:linear-gradient(180deg, rgba(255,255,255,0.35) 0%, rgba(255,255,255,0) 40%); }
  .pc-cando-q:hover { transform:translateY(-1px); border-color:rgba(37,99,235,0.45);
    box-shadow:0 14px 34px rgba(20,50,140,0.20), 0 4px 12px rgba(30,70,160,0.10), inset 0 1px 0 rgba(255,255,255,0.8); }
  .pc-cando-q:focus-visible { outline:2px solid #2563eb; outline-offset:2px; }
  .pc-cando-foot { font-size:12px; line-height:1.5; color:#3a4a6b; margin:12px 2px 0; }
  .pc-cando-link { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; margin:2px 2px 0; }
  .pc-cando-link svg { width:14px; height:14px; }
  [data-theme="dark"] .pc-cando::before { background:radial-gradient(460px circle at 50% 42%, rgba(37,99,235,0.30), transparent 68%); }
  [data-theme="dark"] .pc-cando.is-compact { background:rgba(30,36,56,0.62); border-color:rgba(120,150,220,0.28); }
  [data-theme="dark"] .pc-cando-gt { color:#c9d6f2; }
  [data-theme="dark"] .pc-cando-gt svg { color:#7aa7ff; }
  [data-theme="dark"] .pc-cando-q { color:#eef2fb; background:rgba(40,46,68,0.62); border-color:rgba(120,150,220,0.30);
    box-shadow:0 10px 28px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.08); }
  [data-theme="dark"] .pc-cando-q::before { background:linear-gradient(180deg, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0) 40%); }
  [data-theme="dark"] .pc-cando-foot { color:#b4c0da; }
  .pc-cando-q { flex:0 0 64px; }
  @media (max-width:768px) { .pc-cando-grid { grid-template-columns:1fr; } .pc-cando-q { height:52px; flex-basis:52px; } }

  /* Cards: the inbound bubble's own surface, so they read as part of Pace's answer. */
  .pc-card { background:var(--c-in-bg); border:1px solid var(--c-in-bd); box-shadow:var(--c-in-sh);
    border-radius:14px; padding:12px; color:var(--text); min-width:0; }
  .pc-card-h { display:flex; align-items:center; gap:7px; margin-bottom:8px; }
  .pc-card-h > svg { width:14px; height:14px; color:var(--accent); flex-shrink:0; }
  .pc-card-t { flex:1 1 auto; min-width:0; font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .pc-card-n { font-size:11.5px; color:var(--text2); white-space:nowrap; }
  .pc-card-note { font-size:12px; color:var(--text2); margin-top:6px; line-height:1.45; }
  /* PaceOrb email campaign card: the email exactly as it will be sent, then the text version. */
  .pc-camp-sec { margin-top:10px; }
  .pc-camp-lab { font-size:11px; font-weight:600; color:var(--text2); text-transform:uppercase; letter-spacing:.04em; margin-bottom:4px; }
  .pc-camp-subj { font-size:13px; font-weight:600; margin-bottom:6px; }
  .pc-camp-prev { display:block; width:100%; height:420px; border:1px solid var(--border, rgba(0,0,0,.12)); border-radius:10px; background:#fff; }
  /* PaceOrb's inline email preview: the Campaigns wizard's own pane (.cw-prev-h + .cm-frame) inside the chat card. */
  .pc-camp-pv { border:1px solid var(--border2); border-radius:12px; padding:0 12px 12px; background:var(--bg2); }
  .pc-camp-pvw { position:relative; border-radius:12px; }
  .pc-camp-pv { max-height:min(70vh, 640px); overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .pc-camp-pvw::after { content:''; position:absolute; left:1px; right:1px; bottom:1px; height:40px; border-radius:0 0 11px 11px; pointer-events:none; opacity:0; transition:opacity 160ms ease-out;
    background:linear-gradient(to bottom, rgba(250,249,246,0), var(--bg2) 92%); }
  .pc-camp-pvw.is-more::after { opacity:1; }
  [data-theme="dark"] .pc-camp-pvw::after { background:linear-gradient(to bottom, rgba(29,40,64,0), var(--bg3) 92%); }
  .pc-camp-pv .cw-prev-h { padding:12px 0 0; }
  .pc-camp-pv .cm-frame { display:block; width:100%; height:520px; margin-top:8px; border:1px solid var(--border2); border-radius:8px; background:#fff; }
  .pc-camp-pv .cm-skel { padding:12px 0; }
  .pc-camp-pv .pc-card-note { margin:8px 0 0; }
  [data-theme="dark"] .pc-camp-pv { background:var(--bg3); border-color:rgba(255,255,255,.10); }
  [data-theme="dark"] .pc-camp-pv .cm-frame { border-color:rgba(255,255,255,.10); }
  .pc-camp-people { margin-top:12px; border-top:1px solid var(--border2); padding-top:8px; }
  .pc-camp-people > summary { cursor:pointer; font-size:13px; font-weight:600; color:var(--text); padding:4px 0; min-height:32px; display:flex; align-items:center; }
  @media (max-width: 768px) { .pc-camp-people > summary { min-height:44px; } }
  .pc-camp-out { display:flex; flex-direction:column; gap:0; padding:4px 0; border-top:1px solid var(--border2); }
  .pc-camp-out:first-of-type { border-top:none; }
  .pc-camp-out-n { font-size:13px; font-weight:600; color:var(--text); }
  .pc-camp-out-r { font-size:12px; color:var(--text2); }
  .pc-camp-open { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:40px; margin:12px 0 0; padding:0 16px; border:1px solid var(--accent); border-radius:22px;
    background:var(--accent); color:#fff; font-family:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:transform 160ms ease-out; }
  .pc-camp-open > svg { width:16px; height:16px; }
  .pc-camp-open:active { transform:scale(0.97); }
  [data-theme="dark"] .pc-camp-open { color:#0b1018; }
  @media (hover:hover) and (pointer:fine) { .pc-camp-open:hover { filter:brightness(1.06); } }
  @media (max-width: 768px) {
    .pc-camp-open { height:44px; font-size:14px; }
    .pc-camp-pv { padding:0 8px 8px; }
    .pc-camp-pv .cm-frame { height:480px; }
  }
  .pc-camp-sms { font-size:13px; line-height:1.45; white-space:pre-wrap; word-break:break-word; background:var(--bg2, rgba(0,0,0,.04)); border-radius:12px; padding:8px 10px; }
  .pc-leads-list { display:flex; flex-direction:column; margin:0 -4px; }
  .pc-lead { display:flex; align-items:center; gap:10px; width:100%; padding:6px 6px; border:none; background:none; border-radius:9px;
    text-align:left; cursor:pointer; font-family:inherit; color:var(--text); }
  .pc-lead:hover { background:var(--f-active-bg); }
  .pc-lead-av { width:28px; height:28px; border-radius:8px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
    background:var(--f-av-bg); color:var(--f-av-fg); font-size:11px; font-weight:700; }
  .pc-lead-tx { flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
  .pc-lead-n { font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pc-lead-l { font-size:12px; color:var(--text2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pc-lead-day { font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--text3); padding:10px 6px 4px; }
  .pc-lead-day:first-child { padding-top:2px; }
  .pc-lead-time { font-size:11.5px; color:var(--text3); white-space:nowrap; flex-shrink:0; }
  .pc-pg-box { min-width:0; }
  .pc-pg-bar { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; }
  .pc-card .pc-pg { height:32px; min-height:0; margin:0; padding:0 16px; border:1px solid var(--border2); border-radius:22px; background:var(--bg); box-shadow:none;
    color:var(--text); font-family:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:transform 160ms ease-out; }
  .pc-card .pc-pg:active:not(:disabled) { transform:scale(0.97); }
  .pc-card .pc-pg:disabled { color:var(--text3); cursor:default; }
  .pc-pg-x { font-size:12px; color:var(--text2); font-variant-numeric:tabular-nums; white-space:nowrap; }
  @media (max-width:768px) { .pc-card .pc-pg { height:44px; } }
  .pc-leads-more { display:block; width:100%; margin-top:6px; padding:8px; border:none; background:none; border-radius:9px; cursor:pointer;
    font-family:inherit; font-size:12.5px; font-weight:600; color:var(--accent); text-align:center; }
  .pc-leads-more:hover { background:var(--f-active-bg); }
  .pc-lead-go { width:14px; height:14px; color:var(--text3); flex-shrink:0; }
  /* PaceOrb Renter records (owner's mock, 25 Oct 2026). Greys only: the two
     review pills differ by icon and weight, never by colour. Base rules sit
     outside every media block so the phone sizes below inherit them. */
  .pc-rr-wrap { display:flex; flex-direction:column; gap:8px; min-width:0; }
  .pc-rr, .pc-rr-find, .pc-rr-next { padding:16px; }
  .pc-rr-h { margin-bottom:12px; min-width:0; }
  .pc-rr-t { font-size:16px; font-weight:700; color:var(--text); }
  .pc-rr-sub { font-size:12px; color:var(--text2); margin-top:4px; overflow-wrap:anywhere; }
  .pc-rr-tools { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
  .pc-rr-search { position:relative; display:flex; align-items:center; min-width:0; }
  .pc-rr-search > svg { position:absolute; left:12px; width:14px; height:14px; color:var(--text3); pointer-events:none; }
  .pc-rr .pc-rr-q { width:100%; height:36px; min-height:0; box-sizing:border-box; margin:0; padding:0 12px 0 32px; border:1px solid var(--border2); border-radius:8px;
    background:var(--bg); color:var(--text); font-family:inherit; font-size:13px; -webkit-appearance:none; appearance:none; box-shadow:none; }
  .pc-rr .pc-rr-q::placeholder { color:var(--text3); }
  .pc-rr .pc-rr-q:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
  .pc-rr-sels { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:8px; }
  .pc-rr-sel { position:relative; display:block; min-width:0; }
  .pc-rr .pc-rr-sel select { width:100%; height:36px; min-height:0; box-sizing:border-box; margin:0; padding:0 32px 0 12px; border:1px solid var(--border2); border-radius:8px;
    background:var(--bg); color:var(--text); font-family:inherit; font-size:13px; -webkit-appearance:none; appearance:none; cursor:pointer;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; box-shadow:none; }
  .pc-rr .pc-rr-sel select:focus-visible { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
  .pc-rr-sel > svg { position:absolute; right:12px; top:50%; transform:translateY(-50%); width:14px; height:14px; color:var(--text2); pointer-events:none; }
  .pc-rr-cnt { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:8px; }
  .pc-rr-cnt-n { font-size:13px; font-weight:700; color:var(--text); }
  .pc-rr-cnt-p { font-size:12px; color:var(--text2); font-variant-numeric:tabular-nums; }
  .pc-rr-list { display:flex; flex-direction:column; gap:8px; }
  .pc-rr-item { border:1px solid var(--border2); border-radius:12px; background:var(--bg); padding:12px; min-width:0; }
  .pc-rr-top { display:flex; align-items:flex-start; gap:8px; }
  .pc-rr-n { flex:none; font-size:12px; font-weight:700; line-height:20px; color:var(--text3); font-variant-numeric:tabular-nums; }
  .pc-rr-who { flex:1 1 auto; min-width:0; }
  .pc-rr .pc-rr-name { display:block; max-width:100%; height:auto; min-height:0; margin:0; padding:0; border:none; background:none; box-shadow:none;
    font-family:inherit; font-size:14px; font-weight:600; line-height:20px; color:var(--text); text-align:left; cursor:pointer; text-decoration:none;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .pc-rr-line { display:flex; align-items:center; gap:8px; min-width:0; }
  .pc-rr-line .pc-tag-lost { margin-left:0; flex:none; }
  .pc-rr-meta { font-size:12px; color:var(--text2); margin-top:4px; }
  .pc-rr-meta > span { white-space:nowrap; }
  .pc-rr-pill { flex:none; display:inline-flex; align-items:center; gap:4px; height:22px; padding:0 8px; box-sizing:border-box; border-radius:22px;
    font-size:11px; font-weight:600; white-space:nowrap; border:1px solid var(--border2); }
  .pc-rr-pill > svg { width:12px; height:12px; flex:none; }
  .pc-rr-pill.is-match { background:var(--bg3); color:var(--text); }
  .pc-rr-pill.is-verify { background:transparent; color:var(--text2); }
  .pc-rr-grid { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:12px 16px; margin-top:12px; padding-left:44px; }
  /* Every PaceOrb list (26 Oct 2026): the Inbox's light-blue avatar square, or a unit's photo. */
  .pc-rr-av { flex:none; width:36px; height:36px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center;
    background:var(--f-av-bg); color:var(--f-av-fg); font-size:12px; font-weight:700; letter-spacing:.02em; }
  .pc-rr-av > svg { width:16px; height:16px; }
  .pc-rr-ph { flex:none; width:36px; height:36px; border-radius:8px; object-fit:cover; background:var(--bg3); display:block; }
  .pc-rr span.pc-rr-name { cursor:default; }
  .pc-rr-quote { margin-top:12px; padding-left:44px; font-size:13px; line-height:1.45; color:var(--text2); overflow-wrap:anywhere; }
  .pc-rr-acts { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; padding-left:44px; }
  .pc-rr .pc-rr-ab { display:inline-flex; align-items:center; justify-content:center; gap:4px; height:32px; min-height:0; margin:0; padding:0 12px; box-sizing:border-box;
    border:1px solid var(--border2); border-radius:22px; background:var(--bg); box-shadow:none; color:var(--text); text-decoration:none;
    font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; transition:transform 160ms ease-out; }
  .pc-rr .pc-rr-ab > svg { width:14px; height:14px; flex:none; }
  .pc-rr .pc-rr-ab.is-primary { background:var(--navy); border-color:var(--navy); color:#fff; }
  .pc-rr .pc-rr-ab:active:not(:disabled) { transform:scale(0.97); }
  .pc-rr .pc-rr-ab:disabled { opacity:.6; cursor:default; }
  .pc-rr-done { display:inline-flex; align-items:center; gap:4px; height:32px; font-size:12px; font-weight:600; color:var(--text2); }
  .pc-rr-done > svg { width:14px; height:14px; }
  .pc-rr-sels.is-one { grid-template-columns:minmax(0, 1fr); }
  [data-theme="dark"] .pc-rr .pc-rr-ab.is-primary { background:var(--accent); border-color:var(--accent); color:#0b1018; }
  .pc-rr-kv { min-width:0; }
  .pc-rr-k { font-size:11px; font-weight:500; color:var(--text2); }
  .pc-rr-v { font-size:14px; font-weight:500; color:var(--text); margin-top:4px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
  .pc-rr .pc-rr-more { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; height:auto; min-height:0; margin:12px 0 0; padding:12px 0 0;
    border:none; border-top:1px solid var(--border); border-radius:0; background:none; box-shadow:none;
    font-family:inherit; font-size:13px; font-weight:600; color:var(--text); text-align:left; cursor:pointer; }
  .pc-rr-more > svg { width:16px; height:16px; flex:none; color:var(--text2); transition:transform 200ms cubic-bezier(0.23, 1, 0.32, 1); }
  .pc-rr-more[aria-expanded="true"] > svg { transform:rotate(180deg); }
  .pc-rr-detail { display:flex; flex-direction:column; gap:12px; margin-top:12px; padding:12px; border-radius:8px; background:var(--bg2); font-size:13px; color:var(--text); }
  .pc-rr-dsec { display:flex; flex-direction:column; gap:4px; min-width:0; }
  .pc-rr-dv { color:var(--text); line-height:1.45; overflow-wrap:anywhere; }
  .pc-rr-ul { margin:0; padding-left:16px; line-height:1.5; }
  .pc-rr-msg { display:flex; flex-direction:column; gap:4px; padding:8px 0; border-top:1px solid var(--border); }
  .pc-rr-k + .pc-rr-msg { border-top:none; padding-top:4px; }
  .pc-rr-msg-h { font-size:11px; font-weight:600; color:var(--text2); }
  .pc-rr-msg-t { line-height:1.45; overflow-wrap:anywhere; }
  .pc-rr-note { font-size:12px; color:var(--text2); }
  .pc-rr-pager { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; }
  .pc-rr .pc-rr-pg { height:32px; min-height:0; margin:0; padding:0 16px; border:1px solid var(--border2); border-radius:22px; background:var(--bg); box-shadow:none;
    color:var(--text); font-family:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:transform 160ms ease-out; }
  .pc-rr .pc-rr-pg:active:not(:disabled) { transform:scale(0.97); }
  .pc-rr .pc-rr-pg:disabled { color:var(--text3); cursor:default; }
  .pc-rr-pgx { font-size:12px; color:var(--text2); font-variant-numeric:tabular-nums; white-space:nowrap; }
  .pc-rr-tblw { overflow:auto; max-height:480px; border:1px solid var(--border2); border-radius:12px; background:var(--bg); }
  .pc-rr-tbl { width:100%; border-collapse:collapse; font-size:12px; background:transparent; }
  .pc-rr-tbl th { position:sticky; top:0; z-index:1; padding:8px; text-align:left; white-space:nowrap; font-size:11px; font-weight:600; color:var(--text2); background:var(--bg2); }
  .pc-rr-tbl td { padding:8px; border-top:1px solid var(--border); white-space:nowrap; color:var(--text); font-variant-numeric:tabular-nums; }
  .pc-rr .pc-rr-tname { height:auto; min-height:0; margin:0; padding:0; border:none; background:none; box-shadow:none; font:inherit; font-weight:600; color:var(--text); cursor:pointer; text-decoration:none; }
  [data-theme="dark"] .pc-rr-tbl, [data-theme="dark"] .pc-rr-tbl tbody, [data-theme="dark"] .pc-rr-tbl tr, [data-theme="dark"] .pc-rr-tbl tbody td { background:transparent !important; }
  [data-theme="dark"] .pc-rr-tbl tbody td { border-top-color:var(--border) !important; }
  [data-theme="dark"] .pc-rr-tbl th { background:var(--bg3) !important; }
  .pc-rr-sec-t { font-size:14px; font-weight:700; color:var(--text); margin-bottom:4px; }
  .pc-rr-f { display:grid; grid-template-columns:16px minmax(0, 1fr); column-gap:8px; row-gap:4px; padding:12px 0; border-top:1px solid var(--border); }
  .pc-rr-sec-t + .pc-rr-f { border-top:none; padding-top:8px; }
  .pc-rr-f:last-child { padding-bottom:0; }
  .pc-rr-f > svg { width:14px; height:14px; margin-top:2px; color:var(--text2); }
  .pc-rr-f-t { font-size:13px; font-weight:600; color:var(--text); }
  .pc-rr-f-d { grid-column:2; font-size:13px; line-height:1.5; color:var(--text2); }
  .pc-rr-next .pc-rr-sec-t { margin-bottom:12px; }
  .pc-rr-next .pc-rr-btn { display:flex; align-items:center; justify-content:center; width:100%; height:40px; min-height:0; margin:0 0 8px; padding:0 16px;
    border:1px solid var(--border2); border-radius:22px; background:var(--bg); box-shadow:none; color:var(--text);
    font-family:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:transform 160ms ease-out; }
  .pc-rr-next .pc-rr-btn.is-primary { background:var(--accent); border-color:var(--accent); color:#fff; }
  [data-theme="dark"] .pc-rr-next .pc-rr-btn.is-primary { background:var(--accent); border-color:var(--accent); color:#0b1018; }
  .pc-rr-next .pc-rr-btn:active, .pc-rr-next .pc-rr-chip:active { transform:scale(0.97); }
  .pc-rr-btns { display:flex; flex-wrap:wrap; gap:8px; }
  .pc-rr-next .pc-rr-chip { display:inline-flex; align-items:center; gap:4px; height:32px; min-height:0; margin:0; padding:0 12px; border:1px solid var(--border2); border-radius:22px;
    background:transparent; box-shadow:none; color:var(--text2); font-family:inherit; font-size:12px; font-weight:600; cursor:pointer; transition:transform 160ms ease-out; }
  .pc-rr-chip > svg { width:14px; height:14px; }
  @media (hover:hover) and (pointer:fine) {
    .pc-rr .pc-rr-more:hover > span { text-decoration:underline; text-underline-offset:3px; }
    .pc-rr .pc-rr-pg:hover:not(:disabled), .pc-rr-next .pc-rr-btn:not(.is-primary):hover, .pc-rr-next .pc-rr-chip:hover, .pc-rr .pc-rr-ab:not(.is-primary):hover:not(:disabled) { background:var(--f-active-bg); color:var(--text); }
    .pc-rr .pc-rr-ab.is-primary:hover:not(:disabled) { filter:brightness(1.15); }
    .pc-rr-next .pc-rr-btn.is-primary:hover { filter:brightness(0.94); }
  }
  @media (max-width:768px) {
    .pc-rr, .pc-rr-find, .pc-rr-next { padding:12px; }
    .pc-rr .pc-rr-q, .pc-rr .pc-rr-sel select { height:44px; font-size:16px; }
    .pc-rr-grid, .pc-rr-quote, .pc-rr-acts { padding-left:0; }
    .pc-rr .pc-rr-ab { height:44px; padding:0 8px; font-size:13px; flex:1 1 0; min-width:0; }
    .pc-rr-sels { grid-template-columns:minmax(0, 1fr); }
    .pc-rr .pc-rr-pg { height:44px; }
    .pc-rr-next .pc-rr-btn { height:44px; }
    .pc-rr-next .pc-rr-chip { height:36px; }
  }
  /* end PaceOrb Renter records */

  /* PaceOrb choices card (one question, tap to answer) */
  .pc-ch { display:flex; flex-wrap:wrap; gap:8px; padding:0; border:0; background:transparent; box-shadow:none; }
  .pc-ch .pc-ch-b { display:inline-flex; align-items:center; gap:6px; height:36px; min-height:0; margin:0; padding:0 14px; border:1px solid var(--border2); border-radius:22px; background:transparent; box-shadow:none; color:var(--text); font-family:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:transform 160ms ease-out; }
  .pc-ch .pc-ch-b small { font-size:11px; font-weight:500; color:var(--text3); }
  .pc-ch .pc-ch-b:active { transform:scale(0.97); }
  .pc-ch .pc-ch-b:disabled { opacity:.5; cursor:default; }
  @media (hover:hover) and (pointer:fine) { .pc-ch .pc-ch-b:hover:not(:disabled) { background:var(--f-active-bg); } }
  @media (max-width:768px) { .pc-ch .pc-ch-b { height:44px; flex:1 1 calc(50% - 8px); justify-content:center; } }
  /* end PaceOrb choices card */
  .pc-mt { width:100%; border-collapse:collapse; font-size:12.5px; background:transparent; }
  .pc-mt td { padding:6px 2px; border-bottom:1px solid var(--border); color:var(--text); vertical-align:top; }
  .pc-mt td:last-child { text-align:right; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; padding-left:14px; }
  .pc-mt tr:last-child td { border-bottom:none; }
  [data-theme="dark"] .pc-mt, [data-theme="dark"] .pc-mt tbody, [data-theme="dark"] .pc-mt tr,
  [data-theme="dark"] .pc-mt tbody td { background:transparent !important; }
  [data-theme="dark"] .pc-mt tbody td { border-bottom-color:var(--border) !important; }
  [data-theme="dark"] .pc-mt tbody tr:last-child td { border-bottom-color:transparent !important; }
  .pc-card.pc-done { display:flex; align-items:center; gap:8px; padding:9px 12px; font-size:13px; line-height:1.4; }
  .pc-done > svg { width:16px; height:16px; color:#15803d; flex-shrink:0; }
  [data-theme="dark"] .pc-done > svg { color:#4ade80; }
  .pc-done-t { flex:1; min-width:0; }
  /* A note or task Pace offered: nothing is saved until the person taps it. */
  .pc-confirm-row { display:flex; align-items:flex-start; gap:8px; font-size:13px; line-height:1.45; }
  .pc-confirm-row > svg { width:16px; height:16px; color:var(--accent); flex-shrink:0; margin-top:1px; }
  .pc-confirm-t { flex:1; min-width:0; white-space:pre-wrap; word-break:break-word; color:var(--text); }
  .pc-confirm-btns { align-items:center; column-gap:16px; }
  .pc-confirm .pc-confirm-x { color:var(--text2); font-weight:500; }
  .pc-confirm .pc-confirm-x:hover { color:var(--text); }
  .pc-confirm .pc-link:disabled { opacity:0.5; cursor:default; text-decoration:none; }
  /* The lease Pace filled, and what follows it (Lease States handoff). Hairline
     card, a first-page sketch, the values in two columns, quiet text pills, one
     filled button. After sending: a grey-check line and a file row. No green. */
  .pc-lease-wrap { --lz-card:#fdfdfb; --lz-ln:rgba(68,64,60,.11); --lz-ln2:rgba(68,64,60,.18); --lz-ink:#14264a; --lz-ink2:#4a5f86; --lz-ink3:#5f7398;
    --lz-hov:rgba(20,38,74,.06); --lz-send:#2563eb; --lz-red:#eb1000;
    display:flex; flex-direction:column; gap:12px; min-width:0; color:var(--lz-ink); }
  [data-theme="dark"] .pc-lease-wrap { --lz-card:#141c2e; --lz-ln:rgba(230,235,245,.1); --lz-ln2:rgba(230,235,245,.18); --lz-ink:#e6ebf5; --lz-ink2:#a3b0c8; --lz-ink3:#8494b3;
    --lz-hov:rgba(230,235,245,.06); --lz-send:#2d5bb5; --lz-red:#ff5a4d; }
  .pc-lease { background:var(--lz-card); border:1px solid var(--lz-ln); border-radius:18px; padding:16px; display:flex; flex-direction:column; gap:12px; max-width:560px; box-sizing:border-box; }
  .pc-lease-top { display:flex; gap:16px; }
  .pc-lease-page { width:104px; flex:none; display:flex; flex-direction:column; gap:4px; }
  .pc-lease-sheet { height:136px; box-sizing:border-box; background:#fff; border:1px solid var(--lz-ln2); border-radius:8px; padding:12px; display:flex; flex-direction:column; gap:8px; }
  .pc-lease-sheet i, .pc-lease-thumb i { display:block; height:4px; background:#d6d3d1; border-radius:4px; }
  .pc-lease-sheet i.l1 { height:7px; width:60%; background:#a8a29e; }
  .pc-lease-sheet i.l3, .pc-lease-thumb i.l3 { width:80%; }
  .pc-lease-sheet i.l5 { width:60%; }
  .pc-lease-pg { font-size:12px; color:var(--lz-ink3); text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .pc-lease-grid { flex:1; min-width:0; display:grid; grid-template-columns:1fr 1fr; column-gap:16px; row-gap:12px; align-content:start; font-size:14px; }
  .pc-lease-kv { min-width:0; }
  .pc-lease-kv.is-wide { grid-column:1 / -1; }
  .pc-lease-k { font-size:12px; color:var(--lz-ink3); }
  .pc-lease-v { overflow-wrap:anywhere; }
  .pc-lease-note { font-size:12.5px; color:var(--lz-ink2); line-height:1.45; }
  .pc-lease-acts { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; align-items:center; }
  .pc-lease-b { height:36px; padding:0 14px; border-radius:24px; border:none; background:transparent; color:var(--lz-ink2);
    font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; }
  .pc-lease-b:hover:not(:disabled) { background:var(--lz-hov); }
  .pc-lease-b.pc-lease-go { padding:0 18px; background:var(--lz-send); color:#fff; }
  .pc-lease-b.pc-lease-go:hover:not(:disabled) { background:var(--lz-send); filter:brightness(.94); }
  .pc-lease-b:disabled { opacity:0.5; cursor:default; }
  .pc-lease-b:focus-visible, .pc-lease-file:focus-visible { outline:2px solid var(--lz-send); outline-offset:2px; }
  .pc-lease-said { font-size:15px; line-height:1.65; text-wrap:pretty; display:flex; gap:8px; align-items:flex-start; max-width:560px; }
  .pc-lease-ck { flex:none; margin-top:6px; color:var(--lz-ink2); }
  .pc-lease-file { display:flex; align-items:center; gap:16px; width:100%; max-width:440px; box-sizing:border-box; background:var(--lz-card); border:1px solid var(--lz-ln);
    border-radius:18px; padding:12px; cursor:pointer; text-align:left; font-family:inherit; color:inherit; }
  .pc-lease-file:hover { background:var(--lz-hov); }
  .pc-lease-thumb { width:56px; height:72px; flex:none; box-sizing:border-box; background:#fff; border:1px solid var(--lz-ln2); border-radius:6px; padding:8px; display:flex; flex-direction:column; gap:4px; }
  .pc-lease-thumb i { height:3px; border-radius:3px; }
  .pc-lease-thumb i.l1 { height:5px; width:60%; background:#a8a29e; }
  .pc-lease-sig { margin-top:auto; }
  .pc-lease-ftx { flex:1; min-width:0; display:flex; flex-direction:column; }
  .pc-lease-fn { font-size:15px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pc-lease-fm { font-size:13px; color:var(--lz-ink2); }
  .pc-lease-fo { margin-top:4px; color:var(--lz-red); font-size:13px; font-weight:600; }
  /* The RFTA Pace filled (rfta.js): the lease card's look, with the cleaned
     pages as a row of real thumbnails and grey flags for what is still blank. */
  .pc-rfta-head { display:flex; flex-direction:column; gap:4px; }
  .pc-rfta-t { font-size:16px; font-weight:700; }
  .pc-rfta-s { font-size:12px; color:var(--lz-ink3); }
  .pc-rfta-pages { display:flex; gap:8px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
  .pc-rfta-pg { flex:none; width:78px; display:flex; flex-direction:column; gap:4px; padding:0; border:none; background:transparent; cursor:pointer; font-family:inherit; color:var(--lz-ink3); text-align:left; }
  .pc-rfta-pg img { width:78px; height:101px; object-fit:cover; object-position:top; border:1px solid var(--lz-ln2); border-radius:8px; background:#fff; display:block; }
  .pc-rfta-pg span { font-size:11px; line-height:1.3; }
  .pc-rfta-pg:hover img { border-color:var(--lz-ink3); }
  .pc-rfta-pg:focus-visible { outline:2px solid var(--lz-send); outline-offset:2px; border-radius:8px; }
  .pc-rfta-wait { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--lz-ink2); min-height:44px; }
  .pc-rfta-spin { width:14px; height:14px; border-radius:50%; border:2px solid var(--lz-ln2); border-top-color:var(--lz-ink2); animation:pcRftaSpin .9s linear infinite; flex:none; }
  @keyframes pcRftaSpin { to { transform:rotate(360deg); } }
  @media (prefers-reduced-motion: reduce) { .pc-rfta-spin { animation:none; } }
  .pc-rfta-flag { display:flex; gap:8px; align-items:flex-start; font-size:12.5px; line-height:1.45; color:var(--lz-ink2); }
  .pc-rfta-flag b { font-weight:600; color:var(--lz-ink); }
  .pc-rfta-flag svg { width:14px; height:14px; flex:none; margin-top:2px; color:var(--lz-ink3); }
  .pc-rfta .pc-lease { max-width:600px; }
  .pc-rfta-seen { display:flex; gap:8px; align-items:flex-start; font-size:13px; line-height:1.45; color:var(--lz-ink2); background:var(--lz-hov); border-radius:10px; padding:8px 12px; }
  .pc-rfta-seen svg { width:14px; height:14px; flex:none; margin-top:2px; color:var(--lz-ink3); }
  .pc-rfta-form { display:grid; grid-template-columns:1fr 1fr; column-gap:12px; row-gap:12px; margin:0; }
  .pc-rfta-fld { grid-column:1 / -1; display:flex; flex-direction:column; gap:4px; min-width:0; margin:0; padding:0; border:none; }
  .pc-rfta-fld.is-half { grid-column:auto; }
  .pc-rfta-lb { font-size:12px; font-weight:600; color:var(--lz-ink2); display:flex; gap:8px; align-items:baseline; padding:0; }
  .pc-rfta-src { font-size:11px; font-weight:500; color:var(--lz-ink3); }
  .pc-rfta-in { height:36px; box-sizing:border-box; width:100%; padding:0 12px; border:1px solid var(--lz-ln2); border-radius:8px; background:var(--lz-card);
    color:var(--lz-ink); font-family:inherit; font-size:13px; outline:none; -webkit-appearance:none; appearance:none; }
  .pc-rfta-in::placeholder { color:var(--lz-ink3); opacity:.8; }
  .pc-rfta-in:focus { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft, rgba(37,99,235,.08)); }
  .pc-rfta-ta { height:auto; min-height:72px; padding:8px 12px; line-height:1.45; resize:vertical; }
  .pc-rfta-radios { gap:4px; }
  .pc-rfta-rd { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--lz-ink); min-height:28px; cursor:pointer; }
  .pc-rfta-rd input { width:16px; height:16px; margin:0; accent-color:var(--navy); flex:none; }
  .pc-rfta-go { width:100%; height:44px; border:none; border-radius:22px; background:var(--navy); color:#fff; font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; }
  .pc-rfta-go:hover:not(:disabled) { filter:brightness(1.15); }
  .pc-rfta-go:disabled { opacity:.5; cursor:default; }
  .pc-rfta-go:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
  [data-theme="dark"] .pc-rfta-go { background:var(--accent); color:#0b1018; }
  [data-theme="dark"] .pc-rfta-rd input { accent-color:var(--accent); }
  [data-theme="dark"] .pc-rfta-in { color-scheme:dark; }
  .pc-rfta-imp { font-size:12.5px; line-height:1.45; color:var(--lz-ink2); }
  .pc-rfta-imp b { color:var(--lz-ink); font-weight:600; }
  [data-rfta-out] { display:flex; flex-direction:column; gap:12px; }
  [data-rfta-out]:empty { display:none; }
  .pc-rfta-sub { font-size:12px; font-weight:600; color:var(--lz-ink2); }
  .pc-rfta-signer { display:flex; flex-direction:column; gap:4px; }
  .pc-rfta-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .pc-rfta .pc-lease-b.pc-lease-go { background:var(--navy); }
  [data-theme="dark"] .pc-rfta .pc-lease-b.pc-lease-go { background:var(--accent); color:#0b1018; }
  @media (max-width:768px) {
    .pc-rfta-form { grid-template-columns:1fr; }
    .pc-rfta-in { height:44px; font-size:16px; }
    .pc-rfta-ta { font-size:16px; }
    .pc-rfta-rd { min-height:36px; font-size:15px; }
    .pc-rfta-row { grid-template-columns:1fr; }
  }
  .pc-rfta .pc-card-stop { display:flex; align-items:flex-start; gap:6px; font-size:13px; line-height:1.4; color:var(--f-danger); }
  .pc-rfta .pc-card-stop svg { width:14px; height:14px; flex-shrink:0; margin-top:2px; }
  @media (max-width:768px) {
    .pc-rfta-pg { width:84px; }
    .pc-rfta-pg img { width:84px; height:108px; }
  }
  .pc-attached { display:flex; align-items:center; gap:8px; margin:0 0 8px; padding:8px 10px 8px 12px; max-width:440px; box-sizing:border-box;
    border:1px solid var(--border2); border-radius:14px; background:var(--c-cmp-field); font-size:13px; color:var(--text); }
  .pc-attached[hidden], .pc-clip[hidden] { display:none !important; }
  .pc-attached svg { width:15px; height:15px; flex:none; color:var(--text2); }
  .pc-attached-n { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
  .pc-attached-s, .pc-attached-h { flex:none; color:var(--text2); }
  .pc-attached-h { margin-left:auto; }
  .pc-attached-x { flex:none; width:28px; height:28px; display:flex; align-items:center; justify-content:center; border:none; border-radius:14px; background:transparent; color:var(--text2); cursor:pointer; }
  .pc-attached-x:hover { background:var(--bg3); color:var(--text); }
  .pc-me-file { display:inline-flex; align-items:center; gap:6px; max-width:320px; margin-left:auto; margin-bottom:4px; padding:6px 10px; border:1px solid var(--border2); border-radius:12px; font-size:13px; color:var(--text); }
  .pc-me-file svg { width:14px; height:14px; flex:none; color:var(--text2); }
  .pc-me-file span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  @media (max-width:768px) { .pc-attached-h { display:none; } }
  @media (max-width:768px) {
    .pc-lease-top { gap:12px; }
    .pc-lease-page { width:72px; }
    .pc-lease-sheet { height:96px; padding:8px; gap:6px; }
    .pc-lease-grid { grid-template-columns:1fr; font-size:15px; }
    .pc-lease-acts { justify-content:stretch; }
    .pc-lease-b { min-height:44px; flex:1 1 auto; }
    .pc-lease-b.pc-lease-go { flex:1 1 100%; order:-1; }
  }
  .pc-card.pc-done.pc-confirm-off { color:var(--text2); }
  .pc-card.pc-done.pc-confirm-off > svg { color:var(--text3); }
  .pc-confirm-off .pc-done-t { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  /* Drafts: one editable box per lead, and its own result after a send. */
  /* The drafts card (Reply Drafts handoff). Plain cards on the page, no blue: neutral
     navy ink only, light and dark tokens from the handoff README. Each lead is its own
     hairline card; the draft is plain text, tap it to edit. */
  .pc-card.pc-drafts { --dr-card:#fdfdfb; --dr-ln:rgba(68,64,60,.11); --dr-ink:#14264a; --dr-ink2:#4a5f86; --dr-ink3:#5f7398;
    --dr-hov:rgba(20,38,74,.08); --dr-field:rgba(20,38,74,.06);
    background:none; border:0; box-shadow:none; padding:0; max-width:600px; width:100%; box-sizing:border-box;
    display:flex; flex-direction:column; gap:12px; color:var(--dr-ink); }
  [data-theme="dark"] .pc-card.pc-drafts { --dr-card:#141c2e; --dr-ln:rgba(230,235,245,.1); --dr-ink:#e6ebf5; --dr-ink2:#a3b0c8; --dr-ink3:#8494b3;
    --dr-hov:rgba(230,235,245,.08); --dr-field:rgba(230,235,245,.07); }
  .pc-drafts .pc-card-h { margin:0; padding:0 2px; }
  .pc-drafts .pc-card-h > svg { display:none; }
  .pc-drafts .pc-card-t { font-size:14px; color:var(--dr-ink2); }
  .pc-drafts .pc-card-n { font-size:13px; color:var(--dr-ink3); }
  .pc-di-list { display:flex; flex-direction:column; gap:12px; }
  .pc-di { border:1px solid var(--dr-ln); border-radius:18px; padding:16px 18px; background:var(--dr-card); min-width:0; transition:opacity .15s; }
  .pc-di.is-failed { border-color:rgba(220,38,38,0.38); }
  .pc-di.is-off { opacity:.55; }
  .pc-di.is-off .pc-di-ro { text-decoration:line-through; }
  .pc-di-h { display:flex; align-items:flex-start; gap:10px; min-width:0; }
  .pc-di-who { flex:1 1 auto; min-width:0; }
  .pc-di-line { display:flex; align-items:center; gap:8px; min-width:0; }
  .pc-di-name { border:none; background:none; padding:0; font-family:inherit; font-size:16px; font-weight:600; line-height:1.4; color:var(--dr-ink);
    cursor:pointer; text-align:left; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; }
  .pc-di-ctx { font-size:14px; line-height:1.4; color:var(--dr-ink2); margin-top:1px; }
  .pc-di-acts { display:flex; align-items:center; gap:8px; flex-shrink:0; margin-top:1px; }
  .pc-chip { display:inline-flex; align-items:center; gap:4px; height:20px; padding:0 7px; border-radius:10px; flex-shrink:0;
    font-size:11px; font-weight:600; background:var(--dr-field); color:var(--dr-ink2); }
  .pc-chip svg { width:11px; height:11px; }
  .pc-res { display:inline-flex; align-items:center; gap:5px; font-size:14px; font-weight:500; white-space:nowrap; flex-shrink:0; color:var(--dr-ink2); }
  .pc-res svg { width:14px; height:14px; }
  .pc-res.bad { color:var(--f-danger); }
  .pc-res.muted { color:var(--dr-ink2); }
  .pc-di-skipbtn { border:0; background:none; font:inherit; font-size:14px; font-weight:600; color:var(--dr-ink2); cursor:pointer;
    padding:4px 10px; margin:-4px -10px -4px 0; border-radius:10px; }
  .pc-di-skipbtn:hover { background:var(--dr-hov); color:var(--dr-ink); }
  .pc-di-why { font-size:13px; line-height:1.4; color:var(--dr-ink2); margin:8px 0 0; }
  .pc-di-ed { margin-top:10px; }
  .pc-di-edit { display:grid; margin:0 -8px; }
  .pc-di-edit::after { content:attr(data-v) " "; white-space:pre-wrap; visibility:hidden; grid-area:1 / 1; pointer-events:none;
    padding:6px 8px; font:inherit; font-size:16px; line-height:1.55; word-break:break-word; border:0; }
  .pc-di-body, .pc-di-subj { box-sizing:border-box; border:0; border-radius:10px; outline:none; background:transparent; color:var(--dr-ink);
    font-family:inherit; font-size:16px; line-height:1.55; }
  .pc-di-body { grid-area:1 / 1; width:100%; padding:6px 8px; resize:none; overflow:hidden; display:block; min-height:0; cursor:text; }
  .pc-di-body:hover { background:var(--dr-field); }
  .pc-di-body:focus, .pc-di-subj:focus { background:var(--dr-field); box-shadow:0 0 0 2px var(--dr-ink); }
  .pc-di-subj { display:block; width:calc(100% + 16px); margin:10px -8px 0; height:34px; padding:0 8px; font-weight:600; cursor:text; }
  .pc-di-subj:hover { background:var(--dr-field); }
  .pc-di-edfoot { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:32px; margin-top:2px; }
  .pc-di-hint { font-size:13px; color:var(--dr-ink3); }
  .pc-di-ed:focus-within .pc-di-hint { visibility:hidden; }
  .pc-di-donebtn { display:none; border:0; border-radius:20px; height:32px; padding:0 16px; font:inherit; font-size:14px; font-weight:600;
    background:var(--dr-ink); color:var(--dr-card); cursor:pointer; }
  .pc-di-ed:focus-within .pc-di-donebtn { display:inline-flex; align-items:center; }
  .pc-di-ro { font-size:16px; line-height:1.55; white-space:pre-wrap; word-break:break-word; color:var(--dr-ink); margin-top:10px; }
  .pc-di-subj-ro { font-size:15px; font-weight:600; margin-top:10px; color:var(--dr-ink); }
  .pc-di-subj-ro + .pc-di-ro { margin-top:2px; }
  .pc-di.is-done .pc-di-ro { color:var(--dr-ink2); }
  .pc-di-err { display:flex; align-items:flex-start; gap:6px; margin-top:8px; font-size:13px; line-height:1.4; color:var(--f-danger); }
  .pc-di-err.warn { color:#b45309; }
  [data-theme="dark"] .pc-di-err.warn { color:#fbbf24; }
  .pc-di-err svg { width:14px; height:14px; flex-shrink:0; margin-top:2px; }
  /* A lead Pace left out on purpose (Do Not Disturb, an opt-out, no number):
     one quiet row with no box to type in, so nothing here can be sent. */
  .pc-di.is-skipped { background:transparent; border-style:dashed; padding:12px 18px; }
  .pc-di-skip { display:flex; flex-wrap:wrap; align-items:center; column-gap:8px; row-gap:3px; min-width:0; }
  .pc-di.is-skipped .pc-di-name { color:var(--dr-ink2); }
  .pc-di-skip-why { flex:1 1 220px; min-width:0; font-size:13px; line-height:1.4; color:var(--dr-ink2); }
  .pc-tag { display:inline-flex; align-items:center; gap:4px; height:20px; padding:0 7px; border-radius:10px; flex-shrink:0;
    font-size:11px; font-weight:600; white-space:nowrap; vertical-align:middle; }
  .pc-tag svg { width:11px; height:11px; }
  .pc-tag-skip { background:var(--dr-field); color:var(--dr-ink2); }
  /* A Lost renter included in a new-apartment pitch: a plain grey word, no tint. */
  .pc-card-drip { display:flex; gap:8px; align-items:flex-start; padding:8px 12px; margin:0 0 8px; border-radius:10px; background:var(--dr-field, var(--bg3)); color:var(--dr-ink2, var(--text2)); font-size:12px; line-height:1.45; }
  .pc-card-drip svg { width:14px; height:14px; flex-shrink:0; margin-top:1px; }
  .pc-tag-lost { background:var(--dr-field, var(--bg3)); color:var(--dr-ink2, var(--text2)); margin-left:8px; }
  /* "Check before sending": amber, still editable and sendable. */
  .pc-tag-review { background:rgba(217,119,6,0.12); color:#b45309; }
  [data-theme="dark"] .pc-tag-review { background:rgba(251,191,36,0.14); color:#fbbf24; }
  .pc-di.is-review { border-color:rgba(217,119,6,0.42); }
  [data-theme="dark"] .pc-di.is-review { border-color:rgba(251,191,36,0.36); }
  .pc-di-why.pc-di-review { color:var(--dr-ink); }
  .pc-di-review .pc-tag { margin-right:3px; }
  .pc-di-note { display:flex; align-items:flex-start; gap:6px; margin-top:8px; font-size:13px; line-height:1.4; color:var(--dr-ink2); }
  .pc-di-note svg { width:14px; height:14px; flex-shrink:0; margin-top:2px; }
  .pc-drafts .pc-card-f { margin:0; display:flex; flex-direction:column; gap:8px; }
  .pc-drafts .pc-card-sum { font-size:13px; color:var(--dr-ink3); padding:0 2px; }
  .pc-drafts .pc-card-stop { display:flex; align-items:flex-start; gap:6px; font-size:13px; line-height:1.4; color:var(--f-danger); padding:0 2px; }
  .pc-drafts .pc-card-stop svg { width:14px; height:14px; flex-shrink:0; margin-top:2px; }
  .pc-drafts .pc-card-btns { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
  .pc-drafts .pc-card-btns .pc-btn, .pc-drafts .pc-sched .pc-btn { height:40px; min-width:112px; padding:0 16px; border:0; border-radius:24px; box-shadow:none;
    background:transparent; color:var(--dr-ink); font-size:15px; font-weight:600; }
  .pc-drafts .pc-card-btns .pc-btn:hover, .pc-drafts .pc-sched .pc-btn:hover { background:var(--dr-hov); filter:none; }
  .pc-drafts .pc-card-btns .pc-btn:disabled { opacity:.4; background:transparent; }
  .pc-drafts .pc-sched .pc-btn.pc-btn-p { background:var(--dr-ink); color:var(--dr-card); }
  .pc-drafts .pc-sched .pc-btn.pc-btn-p:hover { background:var(--dr-ink); filter:brightness(1.12); }
  .pc-drafts .pc-sched .pc-btn.pc-btn-p:disabled { opacity:.4; }
  .pc-card-howto { flex:1 1 220px; min-width:0; font-size:13px; line-height:1.45; color:var(--dr-ink3); }
  .pc-card-sending { display:flex; align-items:center; gap:8px; font-size:14px; line-height:1.4; color:var(--dr-ink2); padding:0 2px; }
  .pc-card-alldone { display:flex; align-items:center; gap:6px; font-size:14px; font-weight:500; color:var(--dr-ink2); padding:0 2px; }
  .pc-card-alldone svg { width:15px; height:15px; color:var(--dr-ink3); }
  .pc-card-wait { font-size:13px; color:var(--dr-ink3); padding:0 2px; }
  .pc-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; height:32px; padding:0 13px; border-radius:9px;
    border:1px solid var(--border2); background:var(--bg); color:var(--text); cursor:pointer; white-space:nowrap;
    font-family:inherit; font-size:12.5px; font-weight:600; }
  .pc-btn:hover { background:var(--bg3); }
  .pc-btn svg { width:14px; height:14px; color:var(--text2); }
  .pc-btn.pc-btn-p { background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 2px 8px rgba(37,99,235,0.22); }
  .pc-btn.pc-btn-p:hover { filter:brightness(1.06); background:var(--accent); }
  .pc-btn:disabled { opacity:0.5; cursor:default; box-shadow:none; }
  .pc-sched { margin:0; padding:12px 14px; border-radius:18px; background:var(--dr-card, var(--bg2)); border:1px solid var(--dr-ln, var(--border2)); }
  .pc-sched-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
  .pc-sched-d, .pc-sched-t { height:40px; box-sizing:border-box; border-radius:12px; border:0; background:var(--dr-field, var(--bg));
    color:var(--dr-ink, var(--text)); font-family:inherit; font-size:15px; padding:0 12px; outline:none; }
  .pc-sched-d:focus, .pc-sched-t:focus { box-shadow:0 0 0 2px var(--dr-ink, var(--accent)); }
  .pc-sched-note { font-size:13px; color:var(--dr-ink2, var(--text2)); margin-top:8px; }
  .pc-sched-err { font-size:13px; color:var(--f-danger); margin-top:8px; }

  /* The composer: one pill on the inbox's own .cmp-field (plus, text, mic, send). */
  .pc-line { font-size:11.5px; line-height:1.4; color:var(--text2); text-align:center; padding:0 8px; }
  .pc-line[hidden] { display:none; }
  .pc-help { color:var(--text); }
  .pc-tier-wrap { position:relative; display:flex; flex-shrink:0; }
  /* Inside the pill: 36px round controls, 3px off the pill's edge, so the bar
     stays the renter composer's 44px. They sit on the bottom line as the text
     grows (align-items:flex-end on the field). */
  .inbox-compose.pc-compose .cmp-field.pc-pill { padding:0 3px !important; gap:2px; align-items:flex-end; }
  .inbox-compose.pc-compose .pc-pill .compose-body { padding:11px 4px !important; }
  .inbox-compose.pc-compose .pc-pill .pc-rec { padding:0 4px; }
  .pc-in-btn { width:36px; height:36px; min-height:36px !important; margin:3px 0; padding:0; flex-shrink:0;
    border:none; border-radius:18px; background:none; color:var(--text2); cursor:pointer;
    display:inline-flex; align-items:center; justify-content:center; gap:3px; font-family:inherit; }
  .pc-in-btn:hover { background:var(--bg3); color:var(--text); }
  .pc-in-btn svg { width:20px; height:20px; }
  .pc-in-btn:disabled { opacity:0.5; cursor:default; }
  #pc-tier-btn #pc-tier-label { display:none; }
  #pc-tier-btn.is-smart { width:auto; padding:0 10px 0 7px; color:var(--accent); background:var(--accent-soft); }
  #pc-tier-btn.is-smart #pc-tier-label { display:inline; font-size:12.5px; font-weight:600; }
  .inbox-compose.pc-compose .pc-pill .cmp-send { width:36px !important; height:36px !important; min-height:36px !important;
    margin:3px 0; box-shadow:0 1px 4px rgba(37,99,235,.28); }
  .inbox-compose.pc-compose .pc-pill .cmp-send svg { width:18px; height:18px; }
  .pc-menu-ico { width:17px; height:17px; color:var(--text2); flex-shrink:0; }
  .pc-menu-div { height:1px; margin:4px 8px; background:var(--border2); }
  .pc-clip[hidden] + .pc-menu-div { display:none; }
  .pc-menu-h { padding:6px 10px 2px; font-size:11px; font-weight:600; color:var(--text2); }
  .pc-tier-list { display:flex; flex-direction:column; gap:2px; }
  /* The menu hangs off the 36px plus; the phone's blanket .main * { max-width:100% }
     would squeeze it to the plus's width. */
  .main .pc-tier-menu { max-width:calc(100vw - 24px); }
  .pc-tier-menu > button { display:flex; align-items:center; gap:10px; width:100%; padding:8px 10px; border:none; border-radius:8px;
    background:none; text-align:left; cursor:pointer; font-family:inherit; color:var(--text); }
  .pc-tier-menu > button:hover { background:var(--bg3); }
  .pc-tier-menu > button[hidden] { display:none; }
  .pc-tier-menu { position:absolute; left:0; bottom:calc(100% + 8px); z-index:20; width:236px; padding:5px; border-radius:12px;
    background:var(--f-menu-bg); box-shadow:var(--f-menu-sh); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
    display:flex; flex-direction:column; gap:2px; }
  .pc-tier-menu[hidden] { display:none; }
  .pc-tier-menu button { display:flex; align-items:center; gap:10px; width:100%; padding:8px 10px; border:none; border-radius:8px;
    background:none; text-align:left; cursor:pointer; font-family:inherit; color:var(--text); }
  .pc-tier-menu button:hover { background:var(--bg3); }
  .pc-tier-o { flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
  .pc-tier-o b { font-size:13px; font-weight:600; }
  .pc-tier-o span { font-size:11.5px; color:var(--text2); }
  .pc-tier-tick { width:15px; height:15px; color:var(--accent); flex-shrink:0; visibility:hidden; }
  .pc-tier-menu [aria-selected="true"] .pc-tier-tick { visibility:visible; }
  .pc-mic.is-rec, .pc-in-btn.pc-mic.is-rec { background:#dc2626; border-color:#dc2626; color:#fff; animation:pcPulse 1.4s ease-out infinite; }
  .pc-mic.is-rec:hover { background:#dc2626; color:#fff; }
  .pc-mic:disabled { opacity:0.5; cursor:default; }
  @keyframes pcPulse { 0% { box-shadow:0 0 0 0 rgba(220,38,38,0.45); } 70% { box-shadow:0 0 0 10px rgba(220,38,38,0); } 100% { box-shadow:0 0 0 0 rgba(220,38,38,0); } }
  .pc-compose .compose-body[hidden] { display:none !important; }
  .pc-rec { flex:1; min-width:0; height:42px; display:flex; align-items:center; gap:10px; }
  .pc-rec[hidden] { display:none; }
  .pc-rec-dot { width:9px; height:9px; border-radius:50%; background:#dc2626; flex-shrink:0; animation:pcBlink 1s ease-in-out infinite; }
  .pc-rec.is-busy .pc-rec-dot { background:var(--text3); animation:none; }
  @keyframes pcBlink { 50% { opacity:0.25; } }
  .pc-rec-t { font-size:13.5px; font-weight:600; color:var(--text); font-variant-numeric:tabular-nums; }
  .pc-rec-l { flex:1; min-width:0; font-size:12.5px; color:var(--text2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pc-rec-stop { height:30px; padding:0 13px; border-radius:15px; border:none; background:var(--bg3); color:var(--text);
    cursor:pointer; font-family:inherit; font-size:12.5px; font-weight:600; flex-shrink:0; }
  .pc-rec-stop[hidden] { display:none; }
  .inbox-compose.pc-compose .cmp-send[hidden] { display:none !important; }
  .inbox-compose.pc-compose .pc-stop { background:var(--text); color:var(--bg); box-shadow:none; }
  .inbox-compose.pc-compose .pc-stop svg { width:14px; height:14px; fill:currentColor; }
  .inbox-compose.pc-compose .compose-ta { max-height:120px; }

  /* Desktop picker + Call, and the phone's waveform circle (Pace handoff: Regular v and a phone
     button on a computer; on a phone the blue circle is a waveform until there is text). */
  .pc-dtier-wrap, #pc-call { display:none; }
  .pc-dtier-btn { width:auto; padding:0 8px 0 10px; gap:2px; font-size:14px; font-weight:500; color:var(--text2); }
  .pc-dtier-btn svg { width:15px; height:15px; }
  .pc-dtier-btn.is-smart { color:var(--accent); }
  .pc-dtier-wrap .pc-tier-menu { left:auto; right:0; width:228px; }
  #pc-send .pc-wave { display:none; width:18px; height:18px; }
  #pc-send.is-voice .pc-wave { display:block; }
  #pc-send.is-voice svg:not(.pc-wave) { display:none; }
  .inbox-compose.pc-compose .pc-pill .cmp-send.is-voice:disabled { opacity:1; }
  @media (min-width:769px) {
    .pc-dtier-wrap { display:flex; }
    #pc-call { display:inline-flex; background:none; color:var(--text2); }
    #pc-call:hover { background:var(--bg3); color:var(--text); }
    #pc-tier-btn.is-smart { width:36px; padding:0; background:none; color:inherit; }
    #pc-tier-btn.is-smart #pc-tier-label { display:none; }
    #pc-tier-btn.no-attach { display:none; }
    #pc-tier-menu .pc-menu-div, #pc-tier-menu .pc-menu-h, #pc-tier-menu .pc-tier-list { display:none; }
  }
  /* ── Voice: its own full view inside Pace (never a popup). A computer fills the chat column;
     a phone fills the screen above the tab bar. */
  .pc-voice { position:absolute; inset:0; z-index:30; display:flex; flex-direction:column; align-items:center;
    background:var(--bg2); color:var(--text); --lvl:0; }
  .pc-voice.on-phone { position:fixed; z-index:1200; padding-top:var(--safe-top,0px); padding-bottom:var(--safe-bottom,0px); }
  .pc-voice[hidden] { display:none; }
  .pcv-top { align-self:stretch; display:flex; padding:12px; flex-shrink:0; }
  .pcv-circ { width:44px; height:44px; border-radius:50%; border:1px solid var(--border2); background:var(--bg); color:var(--text);
    display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0; flex-shrink:0; font-family:inherit; }
  .pcv-circ svg { width:20px; height:20px; }
  .pcv-circ:hover { background:var(--bg3); }
  .pcv-mid { flex:1; min-height:0; width:100%; max-width:560px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 24px; box-sizing:border-box; }
  .pcv-stage { position:relative; width:150px; height:150px; margin-bottom:36px; flex-shrink:0; }
  /* The voice screen's orb: plain glossy sphere, no glow or halo (Pace Orb Update handoff). Five quick taps = easter egg. */
  .pcv-stage .pace-orb { width:150px; height:150px; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; -webkit-user-select:none; user-select:none; }
  .pcv-status { font-size:13px; font-weight:600; color:var(--text2); text-align:center; }
  /* Captions (owner, 25 Oct 2026): only words Pace has already said. The sentence being spoken is the
     only bold line; up to three earlier ones sit above it, smaller and faded, and slide up (pcvCapPaint).
     Fixed height so the orb never jumps; lines start under the status and, once they fill the box, the
     newest stays pinned to the bottom while older ones fade out at the top (data-over). Full width of the column with wrapping, so nothing is ever cut at the sides. */
  .pcv-cap { margin-top:16px; width:100%; max-width:440px; min-width:0; box-sizing:border-box; padding:0 4px; height:clamp(112px, 22vh, 176px);
    display:flex; flex-direction:column; justify-content:flex-start; overflow:hidden; text-align:center; color:var(--text);
    font-size:17px; line-height:1.45; font-weight:500; overflow-wrap:break-word; word-break:normal; hyphens:none; }
  .pcv-cap[data-mode="plain"] { color:var(--text2); }
  /* Spoken lines read left to right from a fixed edge, so a new word never shifts the line (centred
     text re-centres on every word and jitters). */
  .pcv-cap[data-mode="paced"] { text-align:left; padding:0 8px; }
  .pcv-cap[data-over="1"] { justify-content:flex-end; }
  .pcv-cap[data-over="1"] { -webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 36%); mask-image:linear-gradient(to bottom, transparent 0, #000 36%); }
  .pcv-cap-lines { display:flex; flex-direction:column; gap:8px; will-change:transform; }
  .pcv-cap-lines p { margin:0; }
  .pcv-cap-prev { font-size:15px; line-height:1.4; font-weight:500; color:var(--text3); }
  .pcv-cap-now { font-size:20px; line-height:1.4; font-weight:700; color:var(--text); letter-spacing:-0.005em; }
  .pcv-w { display:inline; animation:pcvWordIn 180ms cubic-bezier(.23,1,.32,1) both; }
  @keyframes pcvWordIn { from { opacity:0; filter:blur(2px); } to { opacity:1; filter:blur(0); } }
  @media (prefers-reduced-motion: reduce) { .pcv-w { animation:pcvWordInStill 120ms linear both; } @keyframes pcvWordInStill { from { opacity:0; } to { opacity:1; } } }
  .pcv-bar { align-self:stretch; width:100%; max-width:584px; margin:0 auto; box-sizing:border-box; display:flex; align-items:center; gap:10px; padding:12px; flex-shrink:0; }
  .pcv-ask { flex:1; min-width:0; height:54px; border-radius:27px; border:1px solid var(--border2); background:var(--bg); box-shadow:0 4px 20px rgba(24,24,27,.08);
    display:flex; align-items:center; gap:14px; padding:0 18px; cursor:text; color:var(--text3); font-family:inherit; font-size:16px; text-align:left; }
  .pcv-ask svg { width:22px; height:22px; color:var(--text); flex-shrink:0; }
  .pcv-round { width:54px; height:54px; border-radius:50%; border:1px solid var(--border2); background:var(--bg); color:var(--text);
    display:inline-flex; align-items:center; justify-content:center; cursor:pointer; padding:0; flex-shrink:0; box-shadow:0 4px 20px rgba(24,24,27,.08); }
  .pcv-round svg { width:22px; height:22px; }
  .pcv-slash { display:none; }
  .is-muted .pcv-slash { display:inline; }
  .pcv-round:disabled { opacity:.4; pointer-events:none; }
  .pcv-round.is-muted { background:#ef4444; border-color:#ef4444; color:#fff; }
  .pcv-end { background:var(--text); border-color:var(--text); color:var(--bg); }
  .pcv-end svg { transform:rotate(135deg); }
  .pc-voice.on-phone .pcv-end { background:#ef4444; border-color:#ef4444; color:#fff; }
  /* The listening wave (owner, 24 Oct 2026): while a session is connecting or live the Ask Pace pill
     shows a live audio wave instead of its words. It follows only your voice, in the accent blue; while
     Pace talks it rests as a still grey line (the orb's mouth shows Pace talking);
     drawn on a canvas by pcvWave*. Tapping it still goes to typing. The pill keeps its look. */
  .pcv-ask { position:relative; overflow:hidden; transition:transform 160ms ease-out; -webkit-tap-highlight-color:transparent; }
  .pcv-ask:active { transform:scale(.98); }
  .pcv-ask > svg, .pcv-ask-t { transition:opacity 200ms cubic-bezier(.23,1,.32,1); }
  .pcv-ask .pcv-wave { position:absolute; top:0; bottom:0; left:18px; width:calc(100% - 36px); height:100%; max-width:none; display:block; pointer-events:none; opacity:0;
    transition:opacity 200ms cubic-bezier(.23,1,.32,1); }
  .pcv-wave-lbl { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font-size:13px; font-weight:600; color:var(--text2);
    white-space:nowrap; pointer-events:none; opacity:0; transition:opacity 200ms cubic-bezier(.23,1,.32,1); }
  .pcv-ask.is-wave > svg, .pcv-ask.is-wave .pcv-ask-t { opacity:0; }
  .pcv-ask.is-wave .pcv-wave { opacity:1; }
  .pcv-ask[data-wave="connecting"] .pcv-wave-lbl, .pcv-ask[data-wave="muted"] .pcv-wave-lbl { opacity:1; }
  @media (prefers-reduced-motion: reduce) { .pcv-ask, .pcv-ask:active { transform:none; } }

  /* The chat list: the right panel on a computer, a full screen on a phone. */
  .pc-side { display:flex; flex-direction:column; min-height:0; background:var(--bg2); }
  .pc-side-id { display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; padding:20px 16px 14px; flex-shrink:0; }
  .pc-side .pc-side-av { width:52px; height:52px; border-radius:16px; }
  .pc-side .pc-side-av svg { width:24px; height:24px; }
  .pc-side-name { font-size:15px; font-weight:700; color:var(--text); }
  .pc-side-sub { font-size:11.5px; color:var(--text2); margin-top:2px; }
  .pc-side-tools { display:flex; flex-direction:column; gap:8px; padding:0 12px 8px; flex-shrink:0; }
  .pc-new { display:flex; align-items:center; gap:8px; width:100%; height:38px; box-sizing:border-box; padding:0 12px; border-radius:10px;
    background:var(--c-head-glass); border:1px solid var(--border2); box-shadow:inset 0 1px 0 var(--gl-hl), 0 1px 2px rgba(24,24,27,0.04);
    color:var(--text); cursor:pointer; font-family:inherit; font-size:13px; font-weight:600; text-align:left; }
  .pc-new:hover { border-color:var(--f-active-bd); }
  .pc-new svg { width:15px; height:15px; color:var(--text2); }
  .pc-search-wrap { position:relative; }
  .pc-search-ic { position:absolute; left:10px; top:50%; transform:translateY(-50%); width:13px; height:13px; color:var(--text2); pointer-events:none; }
  .pc-search { width:100%; box-sizing:border-box; height:34px; padding:0 10px 0 30px; border-radius:9px; border:1px solid var(--border2);
    background:var(--bg); color:var(--text); font-family:inherit; font-size:13px; outline:none; }
  .pc-search:focus { border-color:var(--accent); }
  .pc-search::-webkit-search-cancel-button { cursor:pointer; }
  /* Desktop chats search: the same glass pill as the search in the Units header. */
  @media (min-width:769px) {
    .pc-search-ic { left:14px; width:15px; height:15px; z-index:1; }
    .pc-search { height:38px; padding:0 14px 0 38px; border-radius:999px; border:none; color:var(--text);
      background:var(--glass-fill); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
      box-shadow:var(--glass-edge), 0 2px 10px rgba(24,24,27,.06); }
    .pc-search::placeholder { color:var(--text2); }
    .pc-search:focus { box-shadow:var(--glass-edge), 0 0 0 2px var(--accent), 0 2px 10px rgba(24,24,27,.06); }
  }
  .pc-list { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:2px 8px 14px; }
  .pc-grp { font-size:10px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--text2); padding:12px 8px 4px; }
  .pc-list-note { display:flex; align-items:center; gap:8px; font-size:12px; line-height:1.45; color:var(--text2); padding:10px 8px; }
  .pc-list-err { display:block; }
  .pc-row { position:relative; border-radius:9px; }
  .pc-row-main { display:flex; align-items:center; gap:7px; width:100%; min-height:38px; box-sizing:border-box; padding:7px 36px 7px 10px;
    border:none; background:none; border-radius:9px; text-align:left; cursor:pointer; font-family:inherit; color:var(--text); }
  .pc-row-main:hover { background:var(--bg3); }
  .pc-row.on > .pc-row-main { background:var(--f-active-bg); box-shadow:inset 0 0 0 1px var(--f-active-bd); }
  .pc-row-pin { width:12px; height:12px; color:var(--text2); flex-shrink:0; }
  .pc-row-tx { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
  .pc-row-t { font-size:13px; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pc-row.on .pc-row-t { font-weight:600; }
  .pc-row-s { font-size:11.5px; color:var(--text2); line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .pc-row-time { font-size:11px; color:var(--text3); white-space:nowrap; flex-shrink:0; }
  .pc-row.is-main .pc-row-main { padding-right:10px; }
  .pc-row-more { position:absolute; right:4px; top:5px; width:28px; height:28px; border:none; border-radius:7px; background:none; padding:0;
    display:flex; align-items:center; justify-content:center; color:var(--text2); cursor:pointer; opacity:0; }
  .pc-row-more svg { width:15px; height:15px; }
  .pc-row:hover .pc-row-more, .pc-row.menu-open .pc-row-more, .pc-row-more:focus-visible { opacity:1; }
  .pc-row-more:hover { background:var(--bg); color:var(--text); }
  .pc-row:hover .pc-row-time, .pc-row.menu-open .pc-row-time { visibility:hidden; }
  .pc-row-acts { display:flex; flex-wrap:wrap; gap:6px; padding:4px 6px 8px 10px; }
  .pc-row-acts button { display:inline-flex; align-items:center; gap:5px; height:28px; padding:0 10px; border-radius:8px;
    border:1px solid var(--border2); background:var(--bg); color:var(--text); cursor:pointer; font-family:inherit; font-size:12px; font-weight:600; }
  .pc-row-acts button:hover { background:var(--bg3); }
  .pc-row-acts button svg { width:13px; height:13px; color:var(--text2); }
  .pc-row-acts button.danger, .pc-row-acts button.danger svg { color:var(--f-danger); }
  .pc-rename { padding:6px 4px 8px; }
  .pc-rename-in { width:100%; box-sizing:border-box; height:34px; padding:0 10px; border-radius:9px; border:1px solid var(--accent);
    background:var(--bg); color:var(--text); font-family:inherit; font-size:13px; outline:none; }
  .pc-rename-b { display:flex; gap:6px; margin-top:6px; }
  .pc-strip-btn.active { color:var(--accent); background:var(--accent-soft); }
  /* Archived chats: the same panel, its own header with Back, a 30-day notice. */
  .pc-arch-hd { display:flex; align-items:center; gap:6px; padding:14px 12px 6px 8px; flex-shrink:0; }
  .pc-arch-back { width:32px; height:32px; border:none; border-radius:9px; background:none; padding:0; display:flex; align-items:center; justify-content:center;
    color:var(--text); cursor:pointer; flex-shrink:0; }
  .pc-arch-back:hover { background:var(--bg3); }
  .pc-arch-back svg { width:18px; height:18px; }
  .pc-arch-ttl { font-size:15px; font-weight:700; color:var(--text); }
  .pc-arch-note { display:flex; align-items:flex-start; gap:8px; margin:4px 12px 8px; padding:9px 11px; border-radius:10px; flex-shrink:0;
    background:var(--bg); border:1px solid var(--border2); font-size:12px; line-height:1.45; color:var(--text2); }
  .pc-arch-note svg { width:14px; height:14px; flex-shrink:0; margin-top:1px; color:var(--f-danger); }
  .pc-row-s.pc-arch-left { -webkit-line-clamp:1; }
  .pc-arch-ask { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:4px 6px 8px 10px; font-size:12px; font-weight:600; color:var(--text); }
  .pc-arch-ask span { margin-right:4px; }
  .pc-arch-ask .pc-arch-del-go { color:var(--f-danger); border-color:var(--f-danger); }
  .pc-arch-entry { display:none; align-items:center; gap:8px; width:100%; box-sizing:border-box; min-height:44px; margin-top:10px; padding:0 10px;
    border:none; border-top:1px solid var(--border2); background:none; color:var(--text2); cursor:pointer; font-family:inherit; font-size:13px; font-weight:600; text-align:left; }
  .pc-arch-entry svg { width:15px; height:15px; }
  .pc-side-phone .pc-arch-entry { display:flex; }
  .pc-arch-bar { display:flex; align-items:center; justify-content:center; gap:10px; padding:10px 12px; font-size:13px; color:var(--text2); }
  .pc-arch-bar[hidden] { display:none; }
  .inbox-compose.pc-compose .pc-main[hidden] { display:none !important; }
  /* The phone's chat list: its own screen with Back, like a contact's details. */
  #pc-list-screen { display:none; }
  @media (max-width:768px) {
    #pc-list-screen { position:fixed; inset:0; z-index:1100; background:var(--bg); flex-direction:column; }
    #pc-list-screen.open { display:flex; }
    body.pc-list-open #mobile-menu-btn { display:none !important; }
    #pc-list-screen .pc-side { flex:1 1 auto; min-height:0; background:var(--bg); position:relative; }
    .pc-scr-top { position:absolute; top:calc(var(--safe-top) + 2px); left:10px; z-index:7; }
    .pc-side-phone .pc-side-id { padding-top:calc(var(--safe-top) + 14px); }
    .pc-side-phone .pc-search { font-size:16px; height:40px; }
    .pc-side-phone .pc-new { height:44px; }
    /* Clear the floating tab bar's footprint, whatever it is showing. */
    .pc-side-phone .pc-list { padding-bottom:calc(var(--tabbar-space) + 14px); }
    .pc-side-phone .pc-row-main { min-height:48px; padding-right:48px; }
    .pc-side-phone .pc-row.is-main .pc-row-main { padding-right:12px; }
    .pc-side-phone .pc-row-more { opacity:1; width:40px; height:40px; top:4px; }
    .pc-side-phone .pc-row:hover .pc-row-time { visibility:visible; }
    .pc-side-phone .pc-row-acts button { height:36px; }
    .pc-side-phone.pc-side-arch .pc-arch-hd { padding-top:calc(var(--safe-top) + 10px); }
    .pc-side-phone .pc-arch-ask .pc-btn { height:36px; }
    .pc-hdr .pc-list-btn { display:flex; align-items:center; justify-content:center; }
    .inbox-layout.inbox-thread-open .pc-hdr .thread-pill-right { gap:8px !important; }
    .inbox-layout.inbox-thread-open .pc-hdr .thread-pill-left { cursor:pointer; }
    .inbox-layout.inbox-thread-open .pc-compose .compose-ta { max-height:120px; }
    .msg-wrap.pace-msg.pc-ans.has-cards { max-width:100%; }
    /* The 44px tap floor is for buttons that stand alone. These are words in a
       sentence, or a small control inside a card row. */
    .main .pc-link, .main .pc-di-name, .main .pc-di-skipbtn, .main .pc-di-donebtn, .main .pc-rec-stop { min-height:0; }
    .main .pc-di-skipbtn { min-height:36px; display:inline-flex; align-items:center; }
    .main .pc-btn { min-height:40px; }
    .pc-di { padding:14px 16px; }
    .pc-di-body, .pc-di-subj, .pc-sched-d, .pc-sched-t { font-size:16px; }
  }
  /* ── Pace look (18 Oct 2026), from the design handoff ───────────────────────
     My words sit in a light-blue bubble with blue text (not solid blue); Pace
     answers in plain text across the whole column, no bubble, no border, no
     avatar, with a quiet row of small icons underneath. The chat is one
     centred column, about 768px wide. */
  #page-pace { --pc-bot:#e6eefd; --pc-bot-ink:#2563eb; --pc-reply-ink:#0d0d0d; }
  [data-theme="dark"] #page-pace { --pc-bot:rgba(79,139,232,.2); --pc-bot-ink:#7aa7f0; --pc-reply-ink:#ececec; }
  #pace-thread-body .msg-wrap, #pace-thread-body .pc-load-err {
    width:100%; max-width:768px; margin-left:auto; margin-right:auto; box-sizing:border-box; }
  #pace-thread-body .msg-wrap .msg-row { width:100%; }
  #pace-thread-body .msg-wrap:not(.pc-ans) .msg-bubble.pace-bubble { background:none; border:none; box-shadow:none; padding:0; color:var(--pc-reply-ink); font-size:16px; line-height:1.65; }
  #pace-thread-body .msg-wrap.pace-msg:not(.pc-ans) .msg-av { display:none; }
  /* Outgoing SMS bubbles use Pace's lighter blue (soft blue fill, blue text) instead of the solid dark blue.
     WhatsApp (.wa, green) and email (.email-card) are untouched; failed and scheduled messages keep their own look. */
  html body #inbox-layout .msg-wrap.out:not(.is-wa):not(.is-email) .msg-bubble:not(.wa):not(.msg-failed):not(.msg-scheduled) { background:#e6eefd; color:#2563eb; box-shadow:none; border-color:transparent; }
  html body #inbox-layout .msg-wrap.out:not(.is-wa):not(.is-email) .msg-bubble:not(.wa):not(.msg-failed):not(.msg-scheduled) .msg-imeta,
  html body #inbox-layout .msg-wrap.out:not(.is-wa):not(.is-email) .msg-bubble:not(.wa):not(.msg-failed):not(.msg-scheduled) .msg-bubble-label { color:rgba(37,99,235,.7); }
  html body #inbox-layout .msg-wrap.out:not(.is-wa):not(.is-email) .msg-bubble:not(.wa):not(.msg-failed):not(.msg-scheduled) .msg-link { color:#1d4ed8; }
  html[data-theme="dark"] body #inbox-layout .msg-wrap.out:not(.is-wa):not(.is-email) .msg-bubble:not(.wa):not(.msg-failed):not(.msg-scheduled) { background:rgba(79,139,232,.2); color:#fff; box-shadow:none; }
  html[data-theme="dark"] body #inbox-layout .msg-wrap.out:not(.is-wa):not(.is-email) .msg-bubble:not(.wa):not(.msg-failed):not(.msg-scheduled) .msg-imeta,
  html[data-theme="dark"] body #inbox-layout .msg-wrap.out:not(.is-wa):not(.is-email) .msg-bubble:not(.wa):not(.msg-failed):not(.msg-scheduled) .msg-bubble-label { color:rgba(122,167,240,.8); }
  html[data-theme="dark"] body #inbox-layout .msg-wrap.out:not(.is-wa):not(.is-email) .msg-bubble:not(.wa):not(.msg-failed):not(.msg-scheduled) .msg-link { color:#fff; text-decoration:underline; text-underline-offset:2px; }
  /* Sent texts carry the SAME light blue outline as a sent email card (.email-card.email-out): 1px, accent 45% over --border. Both themes, phone and desktop. */
  html body #inbox-layout .msg-wrap.out:not(.is-wa):not(.is-email) .msg-bubble:not(.wa):not(.msg-failed):not(.msg-scheduled) { border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border)); }
  #pace-thread-body .msg-wrap.out.pc-me { align-items:flex-end; }
  #pace-thread-body .msg-wrap.out.pc-me .msg-row { justify-content:flex-end; }
  #pace-thread-body .msg-wrap.out.pc-me .msg-bubble { background:var(--pc-bot); color:var(--pc-bot-ink); border:none; box-shadow:none;
    border-radius:22px; padding:10px 20px; font-size:15px; line-height:1.55; max-width:70%; }
  #pace-thread-body .msg-wrap.out.pc-me .msg-bubble .msg-imeta { display:none; }
  #pace-thread-body .msg-wrap.pace-msg.pc-ans { max-width:768px; }
  #pace-thread-body .pc-ans .msg-av { display:none; }
  #pace-thread-body .pc-ans .msg-row { width:100%; }
  #pace-thread-body .pc-ans .pc-col { width:100%; gap:14px; }
  #pace-thread-body .pc-ans .pace-bubble { background:none; border:none; box-shadow:none; border-radius:0; padding:0; max-width:100%;
    color:var(--pc-reply-ink); font-size:16px; line-height:1.65; }
  #pace-thread-body .pc-ans .pace-bubble .msg-imeta { display:none; }
  #pace-thread-body .pc-md > :first-child { margin-top:0; } #pace-thread-body .pc-md > :last-child { margin-bottom:0; }
  #pace-thread-body .pc-md p { margin:0 0 12px; }
  #pace-thread-body .pc-md ul, #pace-thread-body .pc-md ol { margin:0 0 12px; padding-left:26px; }
  #pace-thread-body .pc-md li { margin:0 0 6px; padding-left:4px; }
  #pace-thread-body .pc-md li::marker { color:var(--text3); }
  #pace-thread-body .pc-md li > ul, #pace-thread-body .pc-md li > ol { margin:6px 0 0; }
  #pace-thread-body .pc-md ul ul { list-style:circle; }
  #pace-thread-body .pc-md strong { font-weight:600; }
  #pace-thread-body .pc-md p.pc-lbl { margin-bottom:8px; }
  #pace-thread-body .pc-md h3, #pace-thread-body .pc-md h4, #pace-thread-body .pc-md h5 { margin:18px 0 8px; font-weight:600; line-height:1.35; }
  #pace-thread-body .pc-md h3 { font-size:20px; } #pace-thread-body .pc-md h4 { font-size:17px; } #pace-thread-body .pc-md h5 { font-size:16px; }
  #pace-thread-body .pc-md code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.9em; background:var(--bg3); border-radius:6px; padding:2px 6px; }
  #pace-thread-body .pc-md pre { margin:0 0 12px; background:var(--bg3); border-radius:12px; padding:12px 14px; overflow-x:auto; }
  #pace-thread-body .pc-md pre code { background:none; padding:0; font-size:13.5px; }
  .pc-acts { display:flex; align-items:center; gap:4px; margin:2px 0 0 -8px; }
  .pc-act { position:relative; width:32px; height:32px; border:none; background:none; border-radius:8px; padding:0; cursor:pointer;
    display:flex; align-items:center; justify-content:center; color:var(--text2); }
  .pc-act:hover { background:var(--hover, rgba(20,38,74,.06)); color:var(--text); }
  .pc-act svg { width:16px; height:16px; stroke-width:1.75; }
  .pc-act.is-on { color:var(--pc-bot-ink); }
  .pc-act.is-on svg { fill:currentColor; }
  .pc-act.is-done { color:#2563eb; width:auto; padding:0 8px; gap:6px; }
  .pc-act.is-done::after { content:attr(data-pc-said); font-size:13px; font-weight:600; }
  .pc-act-share { display:none; }
  @media (max-width:768px) {
    .pc-act-down { display:none; }
    .pc-act-share { display:flex; }
    #pace-thread-body .pc-ans .pace-bubble { font-size:16px; }
  }
  /* The chat list, as in the handoff: a plain "Chats" title with a plus, quiet
     group labels, a light-blue tile on the chat you are in, plain text rows. */
  .pc-side { background:var(--bg); }
  .pc-side-hd { display:flex; align-items:center; justify-content:space-between; padding:20px 16px 10px; flex-shrink:0; }
  .pc-side-title { font-size:17px; font-weight:700; color:var(--text); letter-spacing:-.01em; }
  .pc-side-hd .pc-new { width:32px; height:32px; padding:0; border-radius:50%; background:none; border:none; box-shadow:none; justify-content:center; color:var(--text); }
  .pc-side-hd .pc-new:hover { background:var(--bg3); }
  .pc-side-hd .pc-new svg { width:18px; height:18px; color:currentColor; }
  .pc-grp { font-size:12px; font-weight:700; letter-spacing:0; text-transform:none; color:var(--text); padding:14px 8px 6px; }
  .pc-grp.pc-grp-chats { margin-top:8px; border-top:1px solid var(--border); padding-top:14px; }
  .pc-row-main { min-height:48px; border-radius:12px; padding:8px 36px 8px 10px; gap:12px; }
  .pc-row.on > .pc-row-main { background:#e9eefa; box-shadow:inset 0 0 0 1px #b4c8f2; }
  [data-theme="dark"] .pc-row.on > .pc-row-main { background:rgba(79,139,232,.16); box-shadow:inset 0 0 0 1px rgba(79,139,232,.4); }
  .pc-row-tile { width:36px; height:36px; border-radius:10px; flex:none; display:flex; align-items:center; justify-content:center; background:var(--pc-bot, #e6eefd); color:var(--pc-bot-ink, #2563eb); }
  .pc-row-tile .pc-row-pin { width:16px; height:16px; color:inherit; }
  .pc-row-tile.pc-row-orb { background:none; border-radius:50%; }
  .pc-row-tile.pc-row-orb .pace-orb { width:34px; height:34px; }
  .pc-row-t { font-size:14px; font-weight:600; color:var(--text); }
  .pc-row-s { font-size:12px; display:block; -webkit-line-clamp:unset; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pc-row.has-snip .pc-row-s { display:-webkit-box; white-space:normal; -webkit-line-clamp:2; }
  /* Desktop: the same floating glass pills as a Conversations thread (name pill
     left, actions pill right); the chat has no frame around it. */
  @media (min-width:769px) {
    /* The Pace title bar above already names the chat, so no second name pill. */
    #page-pace .pc-hdr { justify-content:flex-end; pointer-events:none; }
    #page-pace .pc-hdr > * { pointer-events:auto; }
    #page-pace .pc-hdr .inbox-back-btn, #page-pace .pc-hdr .thread-pill-left { display:none !important; }
    #page-pace .inbox-center { border:none; box-shadow:none; }
    #pace-thread-body { padding-left:24px; padding-right:24px; padding-bottom:96px; }
    /* Type box floats over the chat so messages scroll behind its glass, like the header. */
    #page-pace .pc-compose { position:absolute; left:0; right:0; bottom:0; }
  }
  /* Phone, like ChatGPT: no LeasePace brand bar on Pace. A menu circle at the
     left opens the chat list, the chat's title sits in the middle on one line,
     a new-chat circle at the right. The tab bar stays. */
  @media (max-width:768px) {
    #page-pace .pace-topbar { display:none !important; }
    #pace-layout.inbox-thread-open .pc-hdr { top:calc(var(--safe-top) + 6px) !important; }
    .inbox-layout.inbox-thread-open .pc-hdr { justify-content:flex-start; gap:10px; }
    .inbox-layout.inbox-thread-open .pc-hdr .thread-circ-gap,
    .inbox-layout.inbox-thread-open .pc-hdr .thread-avatar,
    .inbox-layout.inbox-thread-open .pc-hdr .thread-name,
    .inbox-layout.inbox-thread-open .pc-hdr #pace-panel-btn { display:none !important; }
    .inbox-layout.inbox-thread-open .pc-hdr .inbox-back-btn,
    .inbox-layout.inbox-thread-open .pc-hdr .thread-pill-right .thread-circ-btn { width:44px !important; min-width:44px !important; height:44px; padding:0 !important; border-radius:50% !important; justify-content:center; }
    .pc-hdr .pc-list-btn svg { width:20px; height:20px; }
    #pace-layout.inbox-thread-open .pc-hdr .thread-pill-right { margin-left:0; }
    /* The title: one centred line, ellipsis, in its own glass capsule. Both
       neighbours are 44px circles with the same gap, so it is truly centred. */
    #pace-layout.inbox-thread-open .pc-hdr .thread-pill-left {
      flex:0 1 auto; margin:0 auto; max-width:calc(100% - 128px); height:44px; padding:0 18px; justify-content:center; cursor:default; }
    #pace-layout.inbox-thread-open .pc-hdr .thread-id { flex:0 1 auto; align-items:center; text-align:center; }
    #pace-layout.inbox-thread-open .pc-hdr .thread-sub { display:block; margin:0; font-size:16px; font-weight:600; line-height:1.2; color:var(--text);
      white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
    #pace-thread-body .msg-wrap.out.pc-me .msg-bubble { border-radius:20px; padding:10px 16px; max-width:80%; }
  }
  /* Phone slide-out chat list (Reuven's design): the whole chat page slides 300px
     to the right, 36px corners, soft shadow on its left edge, 0.42s, and the list
     sits behind it. The chat stays visible on the slid card. */
  #pc-list-hit { display:none; }
  @media (max-width:768px) {
    #pc-list-screen { z-index:0; background:var(--bg); overflow:hidden; }
    #pc-list-screen { opacity:0; transition:opacity .42s cubic-bezier(.16,1,.3,1); }
    body.pc-list-open #pc-list-screen { opacity:1; }
    #pace-layout { will-change:transform; touch-action:pan-y; }
    @media (prefers-reduced-motion: reduce) { #pace-layout, #pc-list-screen { transition:none !important; } }
    /* The brand bar is not part of the card: it stays put across the top while the
       chat card (.main) slides, so the brand is on screen wherever Pace lives. */
    #pace-layout { transition:transform .42s cubic-bezier(.16,1,.3,1), border-radius .42s cubic-bezier(.16,1,.3,1); }
    body.pc-list-open { overflow:hidden; }
    body.pc-list-open #pace-layout { z-index:1; transform:translateX(300px); border-radius:36px; overflow:hidden; box-shadow:-10px 0 40px rgba(24,24,27,.14); }
    #pc-list-hit { position:fixed; top:0; bottom:0; left:300px; right:0; z-index:1070; }
    #pc-list-screen .pc-side { width:300px; height:100%; display:flex; flex-direction:column; background:var(--bg); position:relative; }
    .pc-so-hd { display:flex; align-items:center; gap:12px; padding:calc(var(--safe-top) + 10px) 16px 0 16px; }
    .pc-so-title { margin:0; flex:1; min-width:0; font-size:28px; font-weight:700; letter-spacing:-.02em; color:var(--text); }
    .pc-so-x, .pc-so-conv { width:44px; height:44px; border-radius:50%; border:1px solid var(--border); background:var(--bg2); color:var(--text); display:flex; align-items:center; justify-content:center; padding:0; cursor:pointer; flex-shrink:0; }
    .pc-so-x svg, .pc-so-conv svg { width:20px; height:20px; }
    .pc-so-search { position:relative; margin:14px 16px 4px; }
    .pc-so-search .pc-search-ic { position:absolute; left:14px; top:50%; width:18px; height:18px; margin-top:-9px; color:var(--text3); pointer-events:none; }
    .pc-so-search .pc-search { width:100%; box-sizing:border-box; height:44px; border-radius:22px; border:none; background:var(--bg3); color:var(--text); font-size:16px; padding:0 14px 0 42px; outline:none; -webkit-appearance:none; appearance:none; }
    .pc-side-phone .pc-list { flex:1; min-height:0; overflow-y:auto; padding:8px 20px 110px; }
    /* Hierarchy: bold, larger section headers; regular, smaller rows. */
    .pc-side-phone .pc-list .pc-grp, .pc-side-phone .pc-list .pc-grp.pc-grp-chats { font-size:20px; font-weight:700; color:var(--text); opacity:1; padding:22px 0 6px; margin:0; border:none; text-transform:none; letter-spacing:-.01em; }
    .pc-side-phone .pc-row-plain { position:relative; overflow:hidden; touch-action:pan-y; border-radius:0; background:none; }
    .pc-side-phone .pc-row-plain .pc-row-main { background:var(--bg) !important; box-shadow:none !important; border-radius:0; padding:8px 0; min-height:0; width:100%; gap:0; position:relative; z-index:1; transition:transform .25s cubic-bezier(.16,1,.3,1); }
    .pc-side-phone .pc-row-plain.swiped .pc-row-main { transform:translateX(-96px); }
    .pc-side-phone .pc-row-plain .pc-row-t { font-size:16px; font-weight:400; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .pc-side-phone .pc-row-plain .pc-row-s { font-size:12px; font-weight:400; color:var(--text2); margin-top:2px; display:block; }
    .pc-row-swipe { visibility:hidden; transition:visibility 0s .25s; position:absolute; top:0; right:0; bottom:0; width:96px; border:none; background:#6b7280; color:#fff; font-size:14px; font-weight:600; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:0; cursor:pointer; }
    .pc-side-phone .pc-row-plain.swiped .pc-row-swipe { visibility:visible; transition:none; }
    .pc-row-swipe svg { width:18px; height:18px; }
    .pc-side-phone .pc-arch-entry { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:26px; padding:10px 0; min-height:0; border:none; border-top:1px solid var(--border); background:none; border-radius:0; font-size:16px; font-weight:400; color:var(--text); cursor:pointer; }
    .pc-side-phone .pc-arch-entry svg { width:18px; height:18px; color:var(--text2); }
    /* Archived panel on the phone: Back link, big title, rows with Restore and Delete in view. */
    .pc-side-phone.pc-side-arch .pc-arch-hd { flex-direction:column; align-items:flex-start; gap:6px; padding:calc(var(--safe-top) + 10px) 20px 0; }
    .pc-side-phone.pc-side-arch .pc-arch-back { width:auto; height:auto; padding:6px 4px; background:none; display:flex; align-items:center; gap:6px; font-size:15px; font-weight:600; color:var(--text2); border-radius:0; }
    .pc-side-phone.pc-side-arch .pc-arch-ttl { font-size:30px; font-weight:700; letter-spacing:-.02em; color:var(--text); }
    .pc-side-phone.pc-side-arch .pc-arch-note { margin:12px 20px 0; }
    .pc-side-phone.pc-side-arch .pc-arch-row { padding:10px 0 6px; border-bottom:1px solid var(--border); }
    .pc-side-phone.pc-side-arch .pc-arch-row .pc-row-main { padding:0; background:none !important; }
    .pc-side-phone.pc-side-arch .pc-arch-row .pc-row-t { font-size:16px; font-weight:400; }
    .pc-side-phone.pc-side-arch .pc-row-acts, .pc-side-phone.pc-side-arch .pc-arch-ask { padding:8px 0 4px; }
    .pc-so-new { position:absolute; left:20px; bottom:calc(var(--safe-bottom, 0px) + 28px); height:56px; padding:0 22px; border-radius:999px; border:none; background:#2563eb; color:#fff; font-size:17px; font-weight:600; display:flex; align-items:center; gap:10px; box-shadow:0 8px 24px rgba(37,99,235,.35); cursor:pointer; }
    [data-theme="dark"] .pc-so-new { background:#2d5bb5; }
    .pc-so-new svg { width:20px; height:20px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .pc-dots i, .pc-spin, .pc-rec-dot, .pc-mic.is-rec { animation:none; }
  }

/* LIGHT MODE BUTTONS in the Pace chat: the brand blue, never navy (dark mode keeps its own look). */
html:not([data-theme="dark"]) .pc-rr .pc-rr-ab.is-primary,
html:not([data-theme="dark"]) .pc-rfta-go,
html:not([data-theme="dark"]) .pc-rfta .pc-lease-b.pc-lease-go { background:var(--accent); border-color:var(--accent); color:#fff; }

/* ── The broadcast card: ONE card per campaign ──────────────────────────────────
   Header line, the audience as rows (the Conversations list row: avatar square, name, one grey line, count
   on the right), one Text / Email / Both pill group, one time pill group, a follow-up switch (off), a quiet
   "Left out" row, one primary button. Greys only; surfaces are the theme glass (warm stone in light, deep
   navy in dark) with a hairline and a soft shadow. Spacing 4 / 8 / 12 / 16. The one colour is the brand blue. */
.pc-card.pc-bc { display:flex; flex-direction:column; gap:12px; padding:16px; max-width:600px; width:100%; box-sizing:border-box; border-radius:16px; color:var(--text);
  background:var(--c-head-glass); -webkit-backdrop-filter:saturate(1.6) blur(18px); backdrop-filter:saturate(1.6) blur(18px);
  border:1px solid var(--border2); box-shadow:0 2px 12px rgba(24,24,27,.07); }
html[data-theme="dark"] .pc-card.pc-bc { box-shadow:0 2px 12px rgba(0,0,0,.28); }
.pc-bc [hidden] { display:none !important; }
.pc-bc-top { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.pc-bc-title { font-size:16px; font-weight:700; line-height:1.3; color:var(--text); min-width:0; overflow-wrap:anywhere; }
.pc-bc-to { font-size:12px; color:var(--text2); white-space:nowrap; }
.pc-bc-sub { font-size:12px; line-height:1.4; color:var(--text2); margin-top:-8px; overflow-wrap:anywhere; }
.pc-bc-sub:empty { display:none; }
.pc-bc-lab { font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text2); flex:none; width:56px; }
.pc-bc-hint { font-size:12px; line-height:1.4; color:var(--text2); }
.pc-bc-cnt { font-weight:600; }
/* one row family: the Conversations list row (36px avatar square, 13px name, 12px grey line, count on the right) */
.pc-bc-aud { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.pc-bc-grp + .pc-bc-grp, .pc-bc-aud + .pc-bc-note { border-top:1px solid var(--f-row-bd); }
.pc-card.pc-bc .pc-bc-r { display:flex; align-items:center; gap:12px; padding:10px 0; min-height:60px; box-sizing:border-box; min-width:0; }
button.pc-bc-r { width:100%; margin:0; border:0; background:none; color:inherit; font-family:inherit; text-align:left; cursor:pointer; }
.pc-bc-av { flex:none; width:36px; height:36px; border-radius:8px; display:flex; align-items:center; justify-content:center; background:var(--f-av-bg); color:var(--f-av-fg); font-size:12px; font-weight:700; }
.pc-bc-av svg { width:16px; height:16px; }
.pc-bc-rm { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.pc-bc-rn { font-size:13px; line-height:18px; font-weight:600; color:var(--text); overflow-wrap:anywhere; }
.pc-bc-rs { font-size:12px; line-height:16px; color:var(--text2); overflow-wrap:anywhere; }
.pc-bc-rb .pc-bc-rs { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pc-bc-rc { flex:none; font-size:12px; font-weight:600; color:var(--text2); }
.pc-bc-chev { flex:none; width:14px; height:14px; color:var(--text2); transition:transform .18s ease; }
[aria-expanded="true"] > .pc-bc-chev, [aria-expanded="true"] > svg.pc-bc-chev { transform:rotate(180deg); }
.pc-bc-rx { display:flex; flex-direction:column; gap:12px; padding:0 0 12px 48px; min-width:0; }
.pc-bc-msgbox { display:flex; flex-direction:column; gap:4px; min-width:0; }
.pc-bc-msgbox.is-quiet { opacity:.55; }
.pc-bc-ml { font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text2); }
.pc-bc-mt { font-size:13px; line-height:1.5; color:var(--text); white-space:pre-wrap; overflow-wrap:anywhere; }
.pc-bc-note { font-size:12px; line-height:1.4; color:var(--text2); padding-top:12px; }
.pc-bc-note + .pc-bc-note { padding-top:4px; }
/* "Bigger than expected": grey, plain, one confirm tap (no status colour) */
.pc-bc-big { display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid var(--border2); border-radius:10px; background:var(--bg3); }
.pc-bc-bigt { font-size:13px; line-height:1.4; font-weight:600; color:var(--text); overflow-wrap:anywhere; }
.pc-bc-bigok { align-self:flex-start; min-height:32px; padding:0 12px; border-radius:16px; border:1px solid var(--f-pill-bd); background:transparent; color:var(--text); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
.pc-bc-bigok:hover:not(:disabled) { background:var(--f-pill-hover); }
.pc-bc-bigok.is-on { background:var(--f-pill-on-bg); border-color:var(--f-pill-on-bd); color:var(--f-pill-on-fg); }
.pc-bc-bigok:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pc-bc-sug { font-style:normal; }
.pc-bc-grp > .pc-bc-r:focus-visible, .pc-bc-outb:focus-visible, .pc-bc-howb:focus-visible, .pc-bc-dr:focus-visible, .pc-bc-seg:focus-visible, .pc-bc-clr:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:8px; }
/* Left out: one quiet row that opens ONE capped window */
.pc-bc-out { display:flex; flex-direction:column; gap:4px; }
.pc-bc-outb, .pc-bc-howb { display:flex; align-items:center; gap:4px; width:100%; min-height:32px; padding:0; border:0; background:none; font-family:inherit; font-size:12px; font-weight:600; color:var(--text2); cursor:pointer; text-align:left; }
.pc-bc-outb .pc-bc-chev, .pc-bc-howb .pc-bc-chev { margin-left:auto; }
.pc-bc-outb:hover, .pc-bc-howb:hover { color:var(--text); }
.pc-bc-outw { padding-bottom:4px; }
/* controls */
.pc-bc-ctl { display:flex; flex-direction:column; gap:8px; min-width:0; }
.pc-bc-cr { display:flex; align-items:center; gap:8px; min-width:0; }
.pc-bc-segs { flex:1 1 auto; display:flex; gap:4px; min-width:0; }
.pc-bc-seg { flex:1 1 0; min-width:0; height:32px; padding:0 8px; border:1px solid var(--f-pill-bd); border-radius:16px; background:transparent; color:var(--text2); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pc-bc-segs[aria-label="When"] > .pc-bc-seg:last-child { flex:2 1 0; }
.pc-bc-seg:hover:not(:disabled):not(.is-on) { background:var(--f-pill-hover); color:var(--text); }
.pc-bc-seg.is-on { background:var(--f-pill-on-bg); border-color:var(--f-pill-on-bd); color:var(--f-pill-on-fg); }
.pc-bc-seg:disabled { opacity:.5; cursor:default; }
.pc-bc-who { font-size:12px; line-height:1.4; color:var(--text2); padding-left:64px; }
.pc-bc-cant { color:var(--text2); }
.pc-bc-when { display:flex; gap:8px; min-width:0; padding-left:64px; }
.pc-bc-when input { flex:1 1 0; min-width:0; height:32px; padding:0 8px; border-radius:8px; border:1px solid var(--f-pill-bd); background:transparent; color:var(--text); font-family:inherit; font-size:12.5px; box-sizing:border-box; }
html[data-theme="dark"] .pc-bc-when input { color-scheme:dark; }
.pc-bc-bad { color:var(--text); font-weight:600; }
.pc-bc-ctl > .pc-bc-hint { padding-left:64px; }
/* the follow-up switch row (off unless switched on) */
.pc-bc-dr { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:32px; padding:0; border:0; background:none; font-family:inherit; font-size:12px; color:var(--text2); cursor:pointer; text-align:left; }
.pc-bc-dr:disabled { opacity:.5; cursor:default; }
.pc-bc-drt { min-width:0; }
.pc-bc-dr.is-on .pc-bc-drt { color:var(--text); }
.pc-bc-sw { position:relative; flex:none; width:32px; height:20px; border-radius:10px; background:var(--bg3); box-shadow:inset 0 0 0 1px var(--f-pill-bd); transition:background .18s ease; }
.pc-bc-sw::before { content:''; position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:var(--text2); transition:transform .18s ease, background .18s ease; }
.pc-bc-dr.is-on .pc-bc-sw { background:var(--f-pill-on-bg); box-shadow:inset 0 0 0 1px var(--f-pill-on-bd); }
.pc-bc-dr.is-on .pc-bc-sw::before { transform:translateX(12px); background:var(--accent); }
/* status read from the real rows, and short problem lines: plain text, no boxes */
.pc-bc-stat { display:flex; flex-direction:column; gap:4px; }
.pc-bc-st { display:flex; align-items:baseline; justify-content:space-between; gap:12px; font-size:12px; }
.pc-bc-stl { font-weight:600; color:var(--text); }
.pc-bc-stv { color:var(--text2); text-align:right; overflow-wrap:anywhere; }
.pc-bc-err { font-size:12px; line-height:1.4; color:var(--text); }
.pc-bc-srv { display:flex; flex-direction:column; gap:8px; }
.pc-bc-srvl { display:flex; align-items:center; gap:8px; font-size:12px; line-height:1.4; color:var(--text); }
.pc-bc-srvt { font-variant-numeric:tabular-nums; }
.pc-bc-srva { display:flex; gap:8px; flex-wrap:wrap; }
.pc-bc-srva .pc-btn { flex:1 1 0; min-width:0; height:32px; padding:0 12px; border-radius:16px; border:1px solid var(--f-pill-bd); background:transparent; color:var(--text); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; box-shadow:none; }
.pc-bc-srva .pc-btn:hover:not(:disabled) { background:var(--f-pill-hover); }
.pc-bc-srva .pc-btn:disabled { opacity:.5; cursor:default; }
.pc-bc-srva .pc-btn:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pc-bc-foot { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
.pc-card.pc-bc .pc-bc-send { height:44px; width:100%; border-radius:12px; font-size:13px; font-weight:600; }
.pc-bc-busy { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text2); }
html:not([data-theme="dark"]) .pc-card.pc-bc .pc-btn.pc-btn-p { background:var(--accent); border-color:var(--accent); color:#fff; }
.pc-bc-how { display:flex; flex-direction:column; gap:4px; }
/* SHARED scroll window (pcSwHtml in paceorb.js): used by the Left out list, the campaign people and
   left-out lists, and the drafts. ~5 rows desktop / ~4 phone via --pc-sw-h; a list under the cap takes
   its own height and shows no fade. The fades are a mask on the list, so they sit on any card colour. */
.pc-sw { --pc-sw-h:320px; --pc-sw-fade:24px; position:relative; }
.pc-sw-box { border:1px solid var(--border2); border-radius:12px; overflow:hidden; background:var(--bg2); }
.pc-swl { overflow-anchor:none; list-style:none; margin:0; padding:0; max-height:var(--pc-sw-h); overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:var(--border2) transparent; }
.pc-sw-box > .pc-swl { display:flex; flex-direction:column; }
.pc-sw.has-below > .pc-swl { -webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - var(--pc-sw-fade)), transparent); mask-image:linear-gradient(to bottom, #000 calc(100% - var(--pc-sw-fade)), transparent); }
.pc-sw.has-above > .pc-swl { -webkit-mask-image:linear-gradient(to bottom, transparent, #000 var(--pc-sw-fade)); mask-image:linear-gradient(to bottom, transparent, #000 var(--pc-sw-fade)); }
.pc-sw.has-above.has-below > .pc-swl { -webkit-mask-image:linear-gradient(to bottom, transparent, #000 var(--pc-sw-fade), #000 calc(100% - var(--pc-sw-fade)), transparent); mask-image:linear-gradient(to bottom, transparent, #000 var(--pc-sw-fade), #000 calc(100% - var(--pc-sw-fade)), transparent); }
.pc-swl::-webkit-scrollbar { width:6px; }
.pc-swl::-webkit-scrollbar-thumb { background:var(--border2); border-radius:3px; }
.pc-swl:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
/* campaign lists: rows are 32px (who) / 47px (left out), so the cap is exactly 5 of them (4 on a phone) */
.pc-sw-camp { --pc-sw-h:160px; }
.pc-sw-camp.pc-sw-out { --pc-sw-h:235px; }
.pc-sw-camp > .pc-swl { padding-right:6px; }
/* a draft is 160-200px tall, so 5 of them would be a whole screen: cap by screen height instead */
.pc-sw-drafts { --pc-sw-h:min(800px, 70dvh); }
.pc-sw-drafts > .pc-swl { padding-right:6px; }
/* the Left out window: 60px rows, so 5 of them on a desktop, 4 on a phone (rows are taller there) */
.pc-sw-bc { --pc-sw-h:288px; }
.pc-sw-bc > .pc-swl { padding-right:6px; }
.pc-sw-bc .pc-bc-r + .pc-bc-r { border-top:1px solid var(--f-row-bd); }
.pc-bc-held { flex:none; }
.pc-bc-pr .pc-bc-rs { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pc-bc .pc-sw-pp { margin:0 0 0 -48px; width:calc(100% + 48px); max-width:none; }
.pc-bc-x { flex:none; width:32px; height:32px; border-radius:16px; border:1px solid var(--f-pill-bd); background:transparent; color:var(--text2); display:flex; align-items:center; justify-content:center; padding:0; cursor:pointer; }
.pc-bc-x svg { width:14px; height:14px; }
.pc-bc-x:hover:not(:disabled) { background:var(--f-pill-hover); color:var(--text); }
.pc-bc-x:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pc-bc-x:disabled { opacity:.5; cursor:default; }
.pc-bc-lon { font-size:12px; font-weight:700; }
.pc-bc-clr { flex:none; height:32px; padding:0 12px; border-radius:16px; border:1px solid var(--f-pill-bd); background:transparent; color:var(--text2); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
.pc-bc-clr:hover:not(:disabled) { background:var(--f-pill-hover); color:var(--text); }
.pc-bc-clr.is-on { background:var(--f-pill-on-bg); border-color:var(--f-pill-on-bd); color:var(--f-pill-on-fg); }
.pc-bc-clr:disabled { opacity:.5; cursor:default; }
.pc-bc-never { flex:none; font-size:12px; font-weight:600; color:var(--text2); }
@media (max-width:768px) {
  /* The chat thread keeps 12px at the sides on a phone; the card sits 4px further in so it clears the screen edge by 16px. */
  .pc-card.pc-bc { width:calc(100% - 8px); margin-left:4px; margin-right:4px; }
  /* the Conversations list row on a phone: 46px avatar square (11px radius), 15px name, 13px grey line, 70px row */
  .pc-card.pc-bc .pc-bc-r { min-height:70px; }
  .pc-bc-av { width:46px; height:46px; border-radius:11px; font-size:15px; }
  .pc-bc-av svg { width:21px; height:21px; }
  .pc-bc-rn { font-size:15px; line-height:20px; }
  .pc-bc-rs { font-size:13px; line-height:18px; }
  .pc-bc-rx { padding-left:58px; }
  .pc-bc-seg, .pc-bc-clr, .pc-bc-srva .pc-btn { height:44px; border-radius:22px; }
  .pc-bc-clr { padding:0 16px; }
  .pc-bc-x { width:44px; height:44px; border-radius:22px; }
  .pc-bc-x svg { width:18px; height:18px; }
  .pc-bc .pc-sw-pp { margin-left:-58px; width:calc(100% + 58px); }
  .pc-bc-pr .pc-bc-rs { white-space:normal; }
  .pc-bc-outb, .pc-bc-howb, .pc-bc-dr { min-height:44px; }
  .pc-bc-when input { height:44px; font-size:13px; border-radius:12px; }
  .pc-bc-lab { width:48px; }
  .pc-bc-who, .pc-bc-when, .pc-bc-ctl > .pc-bc-hint { padding-left:56px; }
  .pc-sw { --pc-sw-h:288px; }
  .pc-sw-camp { --pc-sw-h:128px; }
  .pc-sw-camp.pc-sw-out { --pc-sw-h:188px; }
  .pc-sw-bc { --pc-sw-h:280px; }
  .pc-sw-drafts { --pc-sw-h:min(720px, 72dvh); }
}
html[data-theme="dark"] .pc-bc-av { border:1px solid rgba(79,139,232,.28); box-sizing:border-box; }
.pc-bc-rc, .pc-bc-st, .pc-bc-to, .pc-bc-cnt, .pc-bc-lon { font-variant-numeric:tabular-nums; }
.pc-bc button, .pc-bc input { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.pc-bc-rb:hover .pc-bc-chev { color:var(--text); }
@media (prefers-reduced-motion: reduce) { .pc-bc-chev, .pc-bc-sw, .pc-bc-sw::before { transition:none; } }

/* A person's NAME on a PaceOrb card is a real link to their conversation (opens in a new tab, so this
   chat stays where it is). It keeps the label's own size, weight and colour, and keeps the ellipsis.
   Hover and keyboard focus use the app's link blue (--accent: brand blue in light, the dark theme's
   accent in dark) with an accent-tinted underline, the same as a task's contact chip (.kb-entity:hover).
   Hover is for a mouse only; a phone has no hover and a tap simply opens the tab. */
a.pc-name-a { color:inherit; text-decoration:none; cursor:pointer; -webkit-tap-highlight-color:transparent;
  text-decoration-thickness:1px; text-underline-offset:3px; }
a.pc-name-a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:4px; color:var(--accent); text-decoration:underline; }
a.pc-lead-nm, a.pc-bc-nm, a.pc-camp-nm { display:block; width:fit-content; max-width:100%; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (hover:hover) and (pointer:fine) {
  a.pc-name-a:hover { color:var(--accent); text-decoration:underline; text-decoration-color:color-mix(in srgb, var(--accent) 50%, transparent); }
}

/* ── PaceOrb card symmetry (30 Oct 2026) ─────────────────────────────────────────────────────
   Controls that sit in one group, or stack in one card, read as ONE family: the same height, the same
   radius, equal widths side by side, full width and the same corners when stacked, the same label size.
   PHONE and DESKTOP are separate designs, so every rule below sits in ONE layout's block; a value that
   was already right in a layout is not restated there.
   The main button and "Open in Campaigns" are the two full-width primaries of the campaign cards.
   Both are a pill (22px), 13px label, 44px on a phone and 40px on a desktop. */
.pc-card.pc-bc .pc-bc-send { border-radius:22px; }
.pc-camp-open, .pc-card.pc-bc .pc-bc-send { box-sizing:border-box; font-size:13px; font-weight:600; }
.pc-bc-when input { border-radius:16px; }
@media (min-width:769px) {
  /* desktop: the main button is the 40px full-width primary, like "Open in Campaigns" and "Preview the email campaign" */
  .pc-card.pc-bc .pc-bc-send { height:40px; }
  .pc-bc-when input { font-size:12.5px; }
  /* Now and the named time are one pair: equal widths (the longest label, "12:30 PM Wed, Nov 18", fits in half the row here).
     On a phone half a row is too narrow for that label, so the phone keeps its 1:2 split. */
  .pc-bc-segs[aria-label="When"] > .pc-bc-seg:last-child { flex:1 1 0; }
  /* side-by-side buttons share the row equally; a lone button keeps its own width (a booked tour's Reschedule) */
  .pc-rr .pc-rr-acts > .pc-rr-ab:not(:only-child) { flex:1 1 0; min-width:0; }
  /* the drafts card's Schedule row: the date and time boxes are one pair and share their space equally */
  .pc-drafts .pc-sched .pc-sched-d, .pc-drafts .pc-sched .pc-sched-t { flex:1 1 0; min-width:0; }
}
@media (max-width:768px) {
  /* phone: 44px everywhere, 16px text kept inside the date and time boxes so iOS never zooms */
  .pc-camp-open { font-size:13px; }
  /* same 44px height and full-pill radius as the pills above; text stays 16px so iOS never zooms. The box is the
     tap target on iOS (the wheel opens from anywhere in it), so the small picker glyph is dropped to give the
     date its full width inside the pill column. */
  .pc-bc-when input { height:44px; border-radius:22px; font-size:16px; padding:0 8px; text-align:center; }
  .pc-bc-when input::-webkit-datetime-edit-fields-wrapper { padding:0; }
  .pc-bc-when input::-webkit-calendar-picker-indicator { display:none; }
  .pc-drafts .pc-card-btns .pc-btn, .pc-drafts .pc-sched .pc-btn, .pc-drafts .pc-sched .pc-sched-d, .pc-drafts .pc-sched .pc-sched-t { height:44px; }
  /* the two boxes are one pair: half the row each (8px gap), so the buttons wrap onto the next row exactly as before */
  .pc-drafts .pc-sched .pc-sched-d, .pc-drafts .pc-sched .pc-sched-t { flex:0 0 calc(50% - 4px); min-width:0; }
  .pc-lease-b { flex:1 1 0; min-width:0; }
  .pc-lease-b.pc-lease-go { flex:1 1 100%; }
}

/* Follow-up campaign card v2 (.pc-fu): one number, the message once, one people list, one Skipped row. Greys only. */
.pc-fu .pc-fu-msgs { display:flex; flex-direction:column; gap:12px; }
.pc-fu-msg { display:flex; flex-direction:column; gap:4px; min-width:0; }
.pc-fu-mh { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.pc-fu-tok { color:var(--text2); }
.pc-fu-edit { flex:none; min-height:32px; padding:0 12px; border-radius:16px; border:1px solid var(--f-pill-bd); background:transparent; color:var(--text2); font-family:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
.pc-fu-edit:hover:not(:disabled) { background:var(--f-pill-hover); color:var(--text); }
.pc-fu-edit:focus-visible, .pc-fu-ta:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pc-fu-edit:disabled { opacity:.5; cursor:default; }
.pc-fu-ta { width:100%; box-sizing:border-box; min-height:72px; padding:8px 10px; border-radius:8px; border:1px solid var(--f-pill-bd); background:transparent; color:var(--text); font-family:inherit; font-size:13px; line-height:1.5; resize:vertical; }
.pc-fu-hint { font-size:12px; line-height:1.4; color:var(--text2); }
.pc-fu-acts { display:flex; gap:8px; }
.pc-fu-ck { position:relative; flex:none; width:36px; height:36px; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.pc-fu-ck input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.pc-fu-box { width:20px; height:20px; border-radius:6px; border:1.5px solid var(--text2); box-sizing:border-box; display:flex; align-items:center; justify-content:center; background:transparent; }
.pc-fu-ck input:checked + .pc-fu-box { background:var(--text2); border-color:var(--text2); }
.pc-fu-ck input:checked + .pc-fu-box::after { content:''; width:5px; height:9px; margin-top:-2px; border:solid var(--bg); border-width:0 2px 2px 0; transform:rotate(45deg); }
.pc-fu-ck input:focus-visible + .pc-fu-box { outline:2px solid var(--accent); outline-offset:2px; }
.pc-fu-r.is-off .pc-bc-rm { opacity:.5; }
.pc-sw-fu { --pc-sw-h:300px; }
.pc-fu .pc-bc-lab { width:auto; min-width:40px; }
@media (max-width:768px) {
  .pc-fu-ck { width:44px; height:44px; margin-left:-4px; }
  .pc-fu-edit { min-height:44px; border-radius:22px; padding:0 16px; }
  .pc-fu .pc-bc-clr { min-height:44px; border-radius:22px; }
  .pc-fu-ta { font-size:16px; }
  .pc-sw-fu { --pc-sw-h:350px; }
}
.pc-fu .pc-bc-av { background:var(--bg3); color:var(--text2); border:0; }
html[data-theme="dark"] .pc-fu .pc-bc-av { border:0; }
/* PaceOrb: Download CSV and Copy under every list card (leads, drafts, email list, broadcast). Desktop and phone are separate designs.
   The records card keeps its own pair in its next-steps card (pc-rr-chip). */
.pc-xp { display:none; }
@media (min-width:769px) {
  .pc-xp { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 0; }
  .pc-xp .pc-xp-b { display:inline-flex; align-items:center; justify-content:center; gap:4px; height:32px; min-height:0; margin:0; padding:0 12px; border:1px solid var(--border2); border-radius:22px;
    background:transparent; box-shadow:none; color:var(--text2); font-family:inherit; font-size:12px; font-weight:600; line-height:1; cursor:pointer; transition:transform 160ms ease-out; }
  .pc-xp .pc-xp-b.is-main { color:var(--accent); border-color:color-mix(in srgb, var(--accent) 45%, transparent); }
  .pc-xp .pc-xp-b svg { width:14px; height:14px; }
  .pc-xp .pc-xp-b:active { transform:scale(0.97); }
}
@media (min-width:769px) and (hover:hover) and (pointer:fine) {
  .pc-xp .pc-xp-b:hover { background:var(--f-active-bg); color:var(--text); }
  .pc-xp .pc-xp-b.is-main:hover { color:var(--accent); }
}
@media (max-width:768px) {
  .pc-xp { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; margin:8px 0 0; }
  .pc-xp .pc-xp-b { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:44px; min-height:44px; margin:0; padding:0 12px; border:1px solid var(--border2); border-radius:22px;
    background:var(--bg); box-shadow:none; color:var(--text); font-family:inherit; font-size:13px; font-weight:600; line-height:1; cursor:pointer; transition:transform 160ms ease-out; }
  .pc-xp .pc-xp-b.is-main { color:var(--accent); border-color:color-mix(in srgb, var(--accent) 45%, transparent); }
  .pc-xp .pc-xp-b svg { width:16px; height:16px; }
  .pc-xp .pc-xp-b:active { transform:scale(0.97); }
}
@media (prefers-reduced-motion: reduce) { .pc-xp .pc-xp-b { transition:none; } }
/* end PaceOrb Download CSV and Copy */
/* ── PaceOrb Phase 1: folded numbers, units card, follow-up chips, links in answers ──────────────────────
   Greys only; the one colour is the brand blue (lighter in dark mode via --accent). Spacing 4 / 8 / 12 / 16.
   Phone taps reach 44px through a transparent ::after where the visual control is smaller. */
/* the numbers of a folded metric card: one quiet line under the records card's title */
.pc-rr-stats { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin-top:8px; font-size:12px; line-height:16px; color:var(--text2); }
.pc-rr-stat b { font-weight:700; color:var(--text); }
.pc-rr-stat-dot { color:var(--text2); }
/* units card: the broadcast row family, one capped window (~4.5 rows), the count outside it */
.pc-card.pc-un { gap:8px; }
.pc-sw-un { --pc-sw-h:270px; }
.pc-sw-un > .pc-swl { padding-right:6px; }
.pc-sw-un .pc-bc-r + .pc-bc-r { border-top:1px solid var(--f-row-bd); }
.pc-un-r .pc-bc-rm { flex:1 1 auto; }
.pc-un-go { flex:none; position:relative; display:inline-flex; align-items:center; justify-content:center; height:32px; padding:0 12px; box-sizing:border-box;
  border:1px solid color-mix(in srgb, var(--accent) 45%, transparent); border-radius:16px; background:transparent; color:var(--accent);
  font-family:inherit; font-size:12.5px; font-weight:600; line-height:1; white-space:nowrap; text-decoration:none; }
.pc-un-go:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pc-un-cnt { font-size:12px; line-height:16px; color:var(--text2); }
/* follow-up chips under the latest answer: quiet outlined pills that wrap */
.pc-next { display:flex; flex-wrap:wrap; gap:8px; max-width:600px; }
.pc-next .pc-next-chip { position:relative; display:inline-flex; align-items:center; max-width:100%; height:32px; min-height:0; margin:0; padding:0 12px; box-sizing:border-box;
  border:1px solid color-mix(in srgb, var(--accent) 45%, transparent); border-radius:16px; background:transparent; box-shadow:none; color:var(--accent);
  font-family:inherit; font-size:13px; font-weight:500; line-height:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; transition:transform 160ms ease-out; }
.pc-next .pc-next-chip:active { transform:scale(0.97); }
.pc-next .pc-next-chip:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
/* links inside an answer: [words](url) and \"Open link (domain)\" read as links; a listing link is a small button */
.pc-md a.pc-link-a { color:var(--accent); text-decoration:underline; text-underline-offset:2px; overflow-wrap:anywhere; }
.pc-md a.pc-link-a .pc-url-d { color:var(--text2); font-weight:400; text-decoration:none; }
.pc-md a.pc-lbtn { position:relative; display:inline-flex; align-items:center; height:28px; margin:2px 0; padding:0 12px; box-sizing:border-box; vertical-align:middle;
  border:1px solid color-mix(in srgb, var(--accent) 45%, transparent); border-radius:14px; background:transparent; color:var(--accent);
  font-size:12.5px; font-weight:600; line-height:1; white-space:nowrap; text-decoration:none; }
.pc-md a.pc-lbtn:focus-visible, .pc-md a.pc-link-a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (hover:hover) and (pointer:fine) {
  .pc-un-go:hover, .pc-next .pc-next-chip:hover, .pc-md a.pc-lbtn:hover { background:var(--accent-soft); }
}
@media (max-width:768px) {
  .pc-sw-un { --pc-sw-h:315px; }
  .pc-un-go { height:36px; border-radius:18px; font-size:13px; }
  .pc-next .pc-next-chip { height:auto; min-height:36px; border-radius:18px; padding:8px 16px; line-height:20px; white-space:normal; text-align:left; }
  .pc-md a.pc-lbtn { height:32px; border-radius:16px; font-size:13px; }
  /* 44px taps on the small controls, without making them look bigger */
  .pc-next .pc-next-chip::after { content:''; position:absolute; left:0; right:0; top:-4px; bottom:-4px; }
  .pc-un-go::after { content:''; position:absolute; left:0; right:0; top:-5px; bottom:-5px; }
  .pc-md a.pc-lbtn::after { content:''; position:absolute; left:0; right:0; top:-6px; bottom:-6px; }
  .pc-next .pc-next-chip { overflow:visible; }
}
@media (prefers-reduced-motion: reduce) { .pc-next .pc-next-chip { transition:none; } }
/* end PaceOrb Phase 1 */

/* Lease summary card (PaceOrb lease flow, Nov 2026): every signer on its own line (name, then their email or role, quieter),
   heads-ups as one grey line each, Preview PDF, and Send for signature that asks once on the card ("Send to … for
   signature?" + Cancel / Yes, send). After sending: the signing status line (Sent / Viewed / Signed by N of M / Fully
   signed), read from the e-sign rows. Greys only; the one filled button is the lighter brand blue. */
.pc-lease-ppl { display:flex; flex-direction:column; gap:4px; }
.pc-lease-p { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:8px; min-width:0; }
.pc-lease-pn { font-weight:600; overflow-wrap:anywhere; }
.pc-lease-pe { font-size:12px; color:var(--lz-ink3); overflow-wrap:anywhere; }
.pc-lease-heads { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; font-size:12.5px; line-height:1.45; color:var(--lz-ink2); }
.pc-lease-heads li { position:relative; padding-left:12px; }
.pc-lease-heads li::before { content:''; position:absolute; left:0; top:8px; width:4px; height:4px; border-radius:2px; background:var(--lz-ink3); }
.pc-lease-ask { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; padding:12px; border-radius:12px; background:var(--lz-hov); }
.pc-lease-askt { font-size:14px; font-weight:600; min-width:0; overflow-wrap:anywhere; }
.pc-lease-askb { display:flex; gap:8px; margin-left:auto; }
.pc-lease-st { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; max-width:560px; font-size:13px; color:var(--lz-ink2); }
.pc-lease-stl { font-weight:700; color:var(--lz-ink); }
.pc-lease-stp { min-width:0; overflow-wrap:anywhere; }
.pc-lease-str { flex:none; width:28px; height:28px; min-height:0; display:inline-flex; align-items:center; justify-content:center; border:none; border-radius:14px; background:transparent; color:var(--lz-ink3); cursor:pointer; position:relative; }
.pc-lease-str svg { width:14px; height:14px; }
.pc-lease-str:hover { background:var(--lz-hov); color:var(--lz-ink); }
.pc-lease-str:focus-visible { outline:2px solid var(--lz-send); outline-offset:2px; }
html:not([data-theme="dark"]) .pc-lease-wrap .pc-lease-b.pc-lease-go { background:var(--accent); color:#fff; }
@media (max-width:768px) {
  .pc-lease-ask { flex-direction:column; align-items:stretch; }
  .pc-lease-askb { margin-left:0; }
  .pc-lease-askb .pc-lease-b { flex:1 1 0; min-height:44px; }
  .pc-lease-askb .pc-lease-b.pc-lease-go { order:0; flex:1 1 0; }
  .pc-lease-pe { font-size:13px; }
  .pc-lease-str::after { content:''; position:absolute; inset:-8px; }
}
/* The lease type under the page sketch reads in full (two lines at most), not "New Constr…". */
.pc-lease-wrap:not(.pc-doc):not(.pc-rfta) .pc-lease-pg { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; line-height:1.3; overflow-wrap:anywhere; }
@media (max-width:768px) { .pc-lease-wrap:not(.pc-doc):not(.pc-rfta) .pc-lease-pg { font-size:11px; } }
/* PaceOrb campaign card (.pc-cv, Nov 2026): the request in one line, the exact words per channel (editable before the tap), ONE capped
   list of who gets it and who is skipped grouped by why, and the results per channel. Greys only; 4/8/12/16 spacing. */
.pc-cv-aline { font-size:12px; line-height:1.4; color:var(--text2); margin-top:-8px; overflow-wrap:anywhere; }
.pc-bc-sub + .pc-cv-aline { margin-top:-12px; }
.pc-cv-msgs { display:flex; flex-direction:column; gap:8px; min-width:0; }
.pc-cv-msg { display:flex; flex-direction:column; gap:4px; min-width:0; padding:12px; border-radius:10px; border:1px solid var(--border2); background:var(--bg3); box-sizing:border-box; }
.pc-cv-mh { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:32px; margin:-4px 0 0; }
.pc-cv-seg { font-size:12px; line-height:1.4; color:var(--text2); font-variant-numeric:tabular-nums; }
.pc-cv-subjt { font-size:13px; line-height:1.4; font-weight:600; color:var(--text); overflow-wrap:anywhere; }
.pc-cv-sk { font-weight:400; color:var(--text2); }
.pc-cv-subj { width:100%; box-sizing:border-box; height:36px; padding:0 10px; border-radius:8px; border:1px solid var(--f-pill-bd); background:var(--bg); color:var(--text); font-family:inherit; font-size:13px; font-weight:600; }
.pc-cv-msg .pc-fu-ta { background:var(--bg); }
.pc-cv-subj:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.pc-cv-list { display:flex; flex-direction:column; gap:4px; min-width:0; }
.pc-cv-lh { display:flex; align-items:center; gap:4px; font-size:12px; font-weight:600; color:var(--text2); min-height:24px; }
.pc-cv-lh .pc-bc-cnt { color:var(--text); }
.pc-cv-dot { padding:0 4px; }
.pc-sw-cv { --pc-sw-h:300px; }
.pc-sw-cv .pc-swl { padding-right:6px; }
.pc-sw-cv .pc-cv-gh { display:flex; align-items:center; gap:8px; padding:12px 0 4px; font-size:12px; line-height:16px; font-weight:700; color:var(--text); }
.pc-sw-cv .pc-cv-gh:first-child { padding-top:0; }
.pc-cv-gn { flex:none; min-width:24px; height:20px; padding:0 6px; box-sizing:border-box; border-radius:10px; background:var(--bg3); color:var(--text2); font-size:11px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; font-variant-numeric:tabular-nums; }
.pc-cv-gl { min-width:0; overflow-wrap:anywhere; }
.pc-sw-cv .pc-cv-gh + .pc-bc-r { border-top:0; }
.pc-cv-more { font-size:12px; line-height:16px; color:var(--text2); padding:4px 0 8px 48px; }
.pc-cv-p .pc-bc-av { background:var(--bg3); color:var(--text2); border:0; }
html[data-theme="dark"] .pc-cv-p .pc-bc-av { border:0; }
.pc-cv-res { display:flex; flex-direction:column; gap:4px; padding:12px; border-radius:10px; border:1px solid var(--border2); background:var(--bg3); }
.pc-cv-rh { font-size:13px; font-weight:700; color:var(--text); }
.pc-cv-rl { display:flex; align-items:baseline; gap:8px; font-size:12px; line-height:1.5; min-width:0; }
.pc-cv-rk { flex:none; width:40px; font-weight:600; color:var(--text); }
.pc-cv-rv { min-width:0; color:var(--text2); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.pc-cv-rn { font-size:11.5px; line-height:1.4; color:var(--text2); }
@media (max-width:768px) {
  .pc-cv-edit { min-height:44px; border-radius:22px; padding:0 16px; }
  .pc-cv-mh { min-height:44px; }
  .pc-cv .pc-bc-clr { min-height:44px; border-radius:22px; }
  .pc-cv .pc-fu-ck { width:44px; height:44px; margin-left:-4px; }
  .pc-cv-subj { height:44px; font-size:16px; border-radius:12px; }
  .pc-cv .pc-fu-ta { font-size:16px; }
  .pc-sw-cv { --pc-sw-h:280px; }
  .pc-cv-more { padding-left:58px; }
  .pc-cv-rk { width:44px; }
}
/* A sent card: no Edit button, so no tall header row. */
.pc-cv-mh.is-ro { min-height:0 !important; margin:0; }
.pc-cv .pc-bc-srv { gap:4px; }
.pc-cv .pc-bc-lo .pc-bc-av { background:var(--bg3); color:var(--text2); border:0; }
/* end PaceOrb campaign card */
/* Daily shift report message (pcShiftReportHtml): rows reuse .pc-lead; only the small label and the numbers grid are new */
.pc-sr { scroll-margin-top:72px; }
.pc-sr .pc-sr-lbl { font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text3); margin-bottom:4px; }
.pc-sr .pc-sr-static { cursor:default; }
.pc-sr .pc-sr-static:hover { background:none; }
.pc-sr .pc-sr-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; }
.pc-sr .pc-sr-stat { display:flex; align-items:baseline; gap:8px; min-width:0; }
.pc-sr .pc-sr-stat b { font-size:15px; font-weight:700; color:var(--text); font-variant-numeric:tabular-nums; flex-shrink:0; }
.pc-sr .pc-sr-stat span { font-size:12px; color:var(--text2); line-height:1.35; min-width:0; }
.pc-sr .pc-sr-stat span i { font-style:normal; color:var(--text3); }
