/* Hallmark · component: prowl-leo · genre: operate · theme: crm · pre-emit critique: P4 H4 E4 S4 R4 V4 */
/* LEO'S PAGE and PROWL › SCHEDULED (js/prowl-leo.js).

   Leo's page (#leoScreen, its own rail item again — Nick, 9/30/26): a head
   in Prowl's grammar without the tabs (the name, the search over your
   chats, Manage Leo), then the history pane (300px) beside the chat. The
   history is the prototype's ChatHistory — General, then Projects, one
   group per project (folding, with its own +), then Archived — and the chat
   is Leo's own (#leoChatPanel, js/leo.js) under a header: the chat's name,
   whether it is saved, Rename · Archive · Delete, and what it is about. On
   a phone the history and the chat each take the whole screen. The page
   wears .prowl-root, so it has the CRM's tokens (css/page-crm.css) and
   Prowl's focus rings, scrollbars, skeleton and failure states.

   Scheduled: the board keeps the CRM's own parts (css/page-crm.css grants
   .leo-board the tokens; css/leo.css holds what the board adds); this file
   only lays its rows out as list items on a phone.

   Tokens only — the --crm-* family inside .prowl-root, and the portal's own
   --gold-ink / --amber-ink for the few words that carry them. Leo's rim and
   light stay Leo's (css/leo.css). */

/* ── the page: its head, and the body the chats fill ───────────────────── */
/* The page scrolls inside the history and the chat, never as a whole. It has
   no Ask Leo summon (Leo is the page), so its pages end plainly. */
#leoScreen { overflow: hidden; }
.leo-app { --prowl-end-room: 32px; }
/* Where Prowl's head sits, at Prowl's height, so moving between the two
   nothing jumps: its row is the shell's bell's band and its right end stops
   the bell's clearance short of the window's edge (css/design-system.css,
   THE BELL'S LINE). */
.leo-app-head {
  flex: none; position: relative; z-index: 2;
  display: flex; align-items: center; gap: 14px;
  box-sizing: border-box; min-height: calc(var(--bell-top) + var(--bell-size) + 14px);
  padding: var(--bell-top) var(--bell-clear) 14px 24px;
  background: var(--crm-paper);
  border-bottom: 1px solid var(--crm-rule);
}
.leo-app-mark { margin: 0; }
/* Prowl folds its search into a button under 1280px; this one stays open —
   it is the page's only tool up here. */
.leo-app-head .leo-app-search { display: flex; flex: 0 1 300px; min-width: 0; }
.leo-app-search .prowl-search-input { width: 100%; }
.leo-app-search .prowl-search-input:disabled { opacity: 0.6; cursor: not-allowed; }
.leo-app-head .pl-manage { margin-left: auto; }
.leo-app-head .pl-manage[hidden] { display: none; }
.leo-app-body { position: relative; flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
.leo-app-body > .pl,
.leo-app-body > .prowl-skel-chat { flex: 1 1 auto; min-height: 0; height: auto; }
.leo-app-body > .prowl-page { flex: 1 1 auto; min-height: 0; overflow-y: auto; width: 100%; }

/* ── the frame ─────────────────────────────────────────────────────────── */
.prowl-root .pl {
  height: 100%; min-height: 0;
  display: grid; grid-template-columns: 300px minmax(0, 1fr);
  background: var(--crm-paper);
}

/* ── the history ───────────────────────────────────────────────────────── */
.prowl-root .pl-hist {
  min-height: 0; display: flex; flex-direction: column;
  border-right: 1px solid var(--crm-rule); background: var(--crm-paper);
}
.prowl-root .pl-hist-top { flex: none; display: flex; flex-direction: column; gap: 8px; padding: 14px 14px 10px; }
.prowl-root .pl-new {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  height: 34px; padding: 0 12px; border-radius: 8px;
  font-size: 13px; font-weight: 600; color: var(--crm-head); white-space: nowrap;
}
.prowl-root .pl-new svg { flex: none; }
.prowl-root .pl-show { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--crm-ink-2); }
.prowl-root .pl-filter {
  flex: 1 1 auto; min-width: 0; height: 30px; padding: 0 26px 0 8px;
  border: 1px solid var(--crm-rule-firm); border-radius: 7px;
  background-color: var(--crm-paper); color: var(--crm-head);
  font: inherit; font-size: 13px; cursor: pointer;
}
.prowl-root .pl-filter:hover { border-color: var(--crm-ink-3); }
.prowl-root .pl-hist-scroll {
  flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain;
  padding: 4px 8px 12px; display: flex; flex-direction: column; gap: 14px;
}
.prowl-root .pl-sec { display: flex; flex-direction: column; gap: 4px; }
.prowl-root .pl-sec-head { display: flex; align-items: baseline; gap: 8px; padding: 0 8px 2px; }
.prowl-root .pl-sec-head h3 { margin: 0; font-size: 12.5px; font-weight: 600; color: var(--crm-head); }
.prowl-root .pl-items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }
.prowl-root .pl-item {
  display: flex; flex-direction: column; gap: 2px;
  padding: 8px 10px; border-radius: 8px;
  color: inherit; text-decoration: none;
}
.prowl-root .pl-item:hover { background: var(--crm-gold-faint); }
.prowl-root .pl-item:active { background: var(--crm-gold-pale); }
/* The chat on screen: a tint, a hairline all round and a heavier name —
   never an edge of colour. */
.prowl-root .pl-item[aria-current="page"] { background: var(--crm-gold-faint); box-shadow: inset 0 0 0 1px var(--crm-gold-pale); }
.prowl-root .pl-item-title, .prowl-root .pl-item-meta { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prowl-root .pl-item-title { font-size: 13.5px; line-height: 1.35; font-weight: 500; color: var(--crm-head); }
.prowl-root .pl-item[aria-current="page"] .pl-item-title { font-weight: 600; }
.prowl-root .pl-item-meta { font-size: 11.5px; line-height: 1.4; color: var(--crm-ink-2); font-variant-numeric: tabular-nums; }
.prowl-root .pl-item-locked .pl-item-title { color: var(--crm-ink-2); }
.prowl-root .pl-item-locked .pl-item-meta { color: var(--amber-ink); }
.prowl-root .pl-item-archived .pl-item-title { font-size: 13px; font-weight: 400; color: var(--crm-ink-mid); }

.prowl-root .pl-group { display: flex; flex-direction: column; }
.prowl-root .pl-group-head { display: flex; align-items: center; gap: 2px; }
.prowl-root .pl-group-toggle {
  flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 6px;
  padding: 6px 8px; border: 0; border-radius: 8px; background: transparent;
  font: inherit; text-align: left; cursor: pointer;
}
.prowl-root .pl-group-toggle:hover { background: var(--crm-panel-2); }
.prowl-root .pl-group-toggle:active { background: var(--crm-rule); }
.prowl-root .pl-chev { flex: none; display: inline-flex; color: var(--crm-ink-2); transition: transform 160ms ease-out; }
.prowl-root .pl-chev-open { transform: rotate(90deg); }
.prowl-root .pl-group-name { min-width: 0; font-size: 13px; font-weight: 600; color: var(--crm-head); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prowl-root .pl-group-count { flex: none; margin-left: auto; font-size: 11.5px; color: var(--crm-ink-2); font-variant-numeric: tabular-nums; }
.prowl-root .pl-group-new { width: 28px; height: 28px; border-radius: 7px; }
.prowl-root .pl-group-sub {
  margin: -3px 0 4px; padding: 0 8px 0 26px;
  font-size: 11.5px; color: var(--crm-ink-2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.prowl-root .pl-group-items { margin: 0 0 2px 18px; padding-left: 6px; border-left: 1px solid var(--crm-rule); }
.prowl-root .pl-arch { display: flex; flex-direction: column; gap: 2px; }
.prowl-root .pl-arch-toggle {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 6px;
  height: 30px; padding: 0 8px; border: 0; border-radius: 7px; background: transparent;
  font: inherit; font-size: 12.5px; font-weight: 500; color: var(--crm-ink-mid); cursor: pointer; white-space: nowrap;
}
.prowl-root .pl-arch-toggle:hover { background: var(--crm-panel-2); color: var(--crm-head); }
.prowl-root .pl-hist-note { margin: 8px 8px 0; font-size: 13px; line-height: 1.5; color: var(--crm-ink-2); }
.prowl-root .pl-link {
  padding: 0; border: 0; background: transparent;
  font: inherit; font-weight: 600; color: var(--gold-ink);
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer; white-space: nowrap;
}
.prowl-root .pl-link:hover { color: var(--crm-head); }
/* Loading: static bars, where the rows will be. */
.prowl-root .pl-hist-skel { display: flex; flex-direction: column; gap: 16px; padding: 8px; }
.prowl-root .pl-skel-line { display: flex; flex-direction: column; gap: 7px; }
.prowl-root .pl-skel-bar { display: block; width: 78%; height: 12px; border-radius: 4px; background: var(--crm-panel-2); }
.prowl-root .pl-skel-bar-short { width: 46%; height: 10px; }
.prowl-root .pl-skel-title { width: 220px; max-width: 70%; height: 22px; border-radius: 6px; }

/* ── the chat: its header ──────────────────────────────────────────────── */
.prowl-root .pl-thread { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: var(--crm-paper); }
.prowl-root .pl-phonebar { display: none; }
.prowl-root .pl-head { flex: none; display: flex; flex-direction: column; gap: 8px; padding: 14px 24px 12px; border-bottom: 1px solid var(--crm-rule); }
.prowl-root .pl-head-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.prowl-root .pl-title-slot { flex: 1 1 260px; min-width: 0; }
.prowl-root .pl-title {
  margin: 0; font-family: var(--font-serif); font-size: 19px; font-weight: 500;
  letter-spacing: -0.005em; line-height: 1.3; color: var(--crm-head); overflow-wrap: anywhere;
}
.prowl-root .pl-save { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--crm-ink-2); white-space: nowrap; }
.prowl-root .pl-save svg { flex: none; }
.prowl-root .pl-save-failed { color: var(--crm-blocked); font-weight: 600; }
.prowl-root .pl-save .pl-link { margin-left: 2px; }
.prowl-root .pl-acts { display: inline-flex; gap: 2px; }
.prowl-root .pl-act {
  height: 30px; padding: 0 9px; border: 0; border-radius: 7px; background: transparent;
  font: inherit; font-size: 12.5px; font-weight: 500; color: var(--crm-ink-mid); cursor: pointer; white-space: nowrap;
}
.prowl-root .pl-act:hover { background: var(--crm-panel-2); color: var(--crm-head); }
.prowl-root .pl-act:active { background: var(--crm-rule); }
.prowl-root .pl-act:disabled, .prowl-root .pl-act[aria-busy="true"] { opacity: 0.5; cursor: not-allowed; }
.prowl-root .pl-manage {
  display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 8px; border-radius: 7px;
  font-size: 12.5px; font-weight: 600; color: var(--gold-ink); text-decoration: none; white-space: nowrap;
}
.prowl-root .pl-manage:hover { background: var(--crm-gold-faint); }
.prowl-root .pl-head-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12.5px; line-height: 1.4; min-width: 0; }
.prowl-root .pl-head-meta:empty { display: none; }
.prowl-root .pl-chip {
  display: inline-flex; align-items: center; gap: 7px; min-width: 0; max-width: 100%;
  padding: 4px 10px 4px 8px; border: 1px solid var(--crm-gold-pale); border-radius: 7px;
  background: var(--crm-gold-faint); color: var(--crm-head);
}
.prowl-root .pl-chip svg { flex: none; color: var(--gold-ink); }
.prowl-root .pl-chip-k, .prowl-root .pl-chip-sub { flex: none; color: var(--crm-ink-mid); white-space: nowrap; }
.prowl-root .pl-chip b { min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prowl-root .pl-chip-general { border-color: var(--crm-rule); background: var(--crm-panel); color: var(--crm-ink-mid); }
.prowl-root .pl-chip-general svg { color: var(--crm-ink-mid); }
.prowl-root .pl-chip-general b { flex: none; color: var(--crm-head); }
.prowl-root .pl-open { color: var(--gold-ink); white-space: nowrap; }
.prowl-root .pl-open:hover { color: var(--crm-head); }
.prowl-root .pl-rename { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.prowl-root .pl-rename-input {
  flex: 1 1 220px; min-width: 0; height: 32px; padding: 0 10px; box-sizing: border-box;
  border: 1px solid var(--gold-ink); border-radius: 7px; background: var(--crm-paper); color: var(--crm-head);
  font-family: var(--font-serif); font-size: 16px; font-weight: 500;
}
.prowl-root .pl-rename .crm-btn { height: 32px; padding: 0 12px; border-radius: 7px; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.prowl-root .pl-rename .crm-btn[disabled] { opacity: 0.6; cursor: progress; }
.prowl-root .pl-ghost { border-color: transparent; background: transparent; color: var(--crm-ink-mid); }
.prowl-root .pl-rename-err { margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--crm-blocked); }
.prowl-root .pl-rename-err[hidden] { display: none; }

/* ── the chat: the transcript and the composer, in the reading column ───── */
.prowl-root .pl-body { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.prowl-root .pl-body > #leoChatPanel { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.prowl-root .pl-body > #leoChatPanel[hidden] { display: none; }
.prowl-root .pl .leo-convo {
  flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain;
  display: flex; flex-direction: column; gap: 16px;
  padding: 22px max(24px, calc((100% - 780px) / 2)) 12px;
}
.prowl-root .pl .leo-msg { margin: 0; gap: 12px; }
.prowl-root .pl .leo-msg.user { flex-direction: column; align-items: flex-end; gap: 4px; }
.prowl-root .pl .leo-msg.user .leo-bubble {
  max-width: 82%; padding: 9px 13px; border: 1px solid transparent; border-radius: 12px 12px 4px 12px;
  background: var(--crm-panel-2); color: var(--crm-head);
  font-size: 14px; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere;
}
.prowl-root .pl .leo-msg { --leo-av: 26px; }
.prowl-root .pl .leo-msg-avatar { width: 26px; height: 26px; border-radius: 7px; }
.prowl-root .pl .leo-say { flex: 1 1 auto; min-width: 0; font-size: 14px; line-height: 1.6; color: var(--crm-ink); }
/* One row of whole chips, as in the window: the ones that do not fit are
   left out (js/leo.js _leoFitChips), never cut at the edge. */
.prowl-root .pl .ds-leo-chips {
  flex: none; flex-wrap: nowrap; gap: 6px;
  padding: 0 max(24px, calc((100% - 780px) / 2)) 2px;
}
.prowl-root .pl .ds-chip {
  flex: none; height: 30px; padding: 0 12px; border-color: var(--crm-rule-firm);
  font-size: 12.5px; color: var(--crm-ink-mid); white-space: nowrap;
}
.prowl-root .pl .ds-chip:hover { border-color: var(--crm-gold); background: var(--crm-gold-faint); color: var(--crm-head); }
.prowl-root .pl .leo-composer { flex: none; margin: 0 max(24px, calc((100% - 780px) / 2)); }
.prowl-root .pl .leo-composer-inner { display: flex; align-items: flex-end; gap: 8px; padding: 8px 8px 8px 14px; }
.prowl-root .pl .leo-editor { flex: 1 1 auto; min-width: 0; padding: 6px 0; font-size: 14px; line-height: 1.5; color: var(--crm-head); }
.prowl-root .pl .leo-composer-row { flex: none; margin-top: 0; }
.prowl-root .pl .leo-composer-send { width: 34px; height: 34px; }
.prowl-root .pl .leo-foot {
  flex: none; margin: 8px max(24px, calc((100% - 780px) / 2)) 18px;
  font-size: 11.5px; line-height: 1.4; color: var(--crm-ink-2); text-align: center;
}

/* ── Leo off for this person ──────────────────────────────────────────── */
.prowl-root .pl-off {
  display: flex; flex-direction: column; gap: 6px; padding: 22px 24px;
  border: 1px solid var(--crm-grid-strong); border-radius: 10px; background: var(--crm-paper);
}
.prowl-root .pl-off-title { font-size: 15px; font-weight: 600; color: var(--crm-head); }
.prowl-root .pl-off p { margin: 0; max-width: 68ch; font-size: 13.5px; line-height: 1.55; color: var(--crm-ink-mid); }

/* ── Scheduled: the board under its title bar ──────────────────────────── */
.prowl-root .pl-sched .leo-tasks { margin: 0; }
.prowl-root .pl-sched .leo-board h2.crm-group-name { margin: 0; line-height: 1.25; }
/* An item's card names its parts in plain words, the prototype's way — not
   in tracked gold capitals. */
.prowl-root .leo-task-card .crm-sec-title,
.prowl-root .leo-task-card .crm-rail-t,
.prowl-root .leo-task-card .crm-whose-k {
  font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--crm-ink-2);
}
.prowl-root .leo-task-card .crm-field-label,
.prowl-root .leo-task-card .crm-contact-role,
.prowl-root .leo-task-card .crm-ladder-owner {
  font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--crm-ink-2);
}
.prowl-root .leo-task-card .crm-sec-count { font-size: 12px; letter-spacing: 0; }

/* ── a tablet: a narrower history ──────────────────────────────────────── */
@media (min-width: 641px) and (max-width: 1024px) {
  .leo-app-head { padding-left: 20px; }
  .prowl-root .pl { grid-template-columns: 260px minmax(0, 1fr); }
  .prowl-root .pl-head { padding: 12px 18px 10px; }
}

/* ── a phone: the history, or the chat, the whole screen ───────────────── */
@media (max-width: 640px) {
  /* The shell's top bar keeps the bell: the head is one row, the search
     takes what the name leaves, at a thumb's height. */
  .leo-app-head { gap: 10px; min-height: 57px; padding: 6px 12px; }
  .leo-app-head .leo-app-search { flex: 1 1 auto; }
  .leo-app-head .pl-manage { min-height: 44px; }
  .prowl-root .pl { grid-template-columns: minmax(0, 1fr); }
  .prowl-root .pl[data-view="thread"] .pl-hist { display: none; }
  .prowl-root .pl[data-view="history"] .pl-thread { display: none; }
  .prowl-root .pl-hist { border-right: 0; }
  .prowl-root .pl-new { height: 44px; font-size: 15px; }
  .prowl-root .pl-filter { height: 44px; font-size: 16px; }
  .prowl-root .pl-item { min-height: 44px; box-sizing: border-box; justify-content: center; padding: 11px 10px; }
  .prowl-root .pl-group-toggle { min-height: 44px; padding: 10px 8px; }
  .prowl-root .pl-group-new { width: 44px; height: 44px; }
  .prowl-root .pl-arch-toggle { height: 44px; }
  .prowl-root .pl-hist-scroll { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }

  /* The chat covers the page's head too, under the shell's own top bar
     (which keeps the bell); its own bar goes back to the chats. */
  .prowl-root .pl[data-view="thread"] .pl-thread {
    position: fixed; z-index: 5; left: 0; right: 0; bottom: 0;
    top: calc(56px + env(safe-area-inset-top));
  }
  .prowl-root .pl-phonebar {
    flex: none; display: flex; align-items: center; gap: 4px;
    height: 56px; box-sizing: border-box; padding: 0 4px 0 8px; border-bottom: 1px solid var(--crm-rule);
  }
  .prowl-root .pl-back {
    display: inline-flex; align-items: center; gap: 2px; height: 44px; padding: 0 10px 0 4px;
    border: 0; border-radius: 8px; background: transparent; color: var(--crm-head);
    font: inherit; font-size: 16px; font-weight: 500; cursor: pointer;
  }
  .prowl-root .pl-back:hover { background: var(--crm-panel-2); }
  .prowl-root .pl-phonebar-save { flex: 1 1 auto; min-width: 0; text-align: right; font-size: 13px; color: var(--crm-ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .prowl-root .pl-phonebar-save.pl-save-failed { color: var(--crm-blocked); font-weight: 600; }
  .prowl-root .pl-more[hidden] { display: none; }
  .prowl-root .pl-head { padding: 10px 16px 12px; }
  .prowl-root .pl-head .pl-save, .prowl-root .pl-head .pl-acts { display: none; }
  .prowl-root .pl-title { font-size: 18px; }
  .prowl-root .pl-manage, .prowl-root .pl-rename .crm-btn { height: 44px; }
  .prowl-root .pl-open { display: inline-flex; align-items: center; min-height: 44px; }
  .prowl-root .pl-rename-input { height: 44px; }
  .prowl-root .pl .leo-convo { padding: 16px 16px 8px; }
  .prowl-root .pl .leo-msg.user .leo-bubble, .prowl-root .pl .leo-say { font-size: 15.5px; }
  .prowl-root .pl .ds-leo-chips { padding: 0 12px 2px; }
  .prowl-root .pl .ds-chip { height: 40px; }
  .prowl-root .pl .leo-composer { margin: 0 12px; }
  .prowl-root .pl .leo-editor { font-size: 16px; }
  .prowl-root .pl .leo-composer-send { width: 44px; height: 44px; }
  .prowl-root .pl .leo-foot { margin: 8px 12px calc(12px + env(safe-area-inset-bottom)); }

  /* Scheduled: each item a list row — when and how far along; to whom;
     what it asks; the project. No table squeezed onto a phone. */
  .prowl-root .leo-board .crm-tablewrap { overflow: hidden; border-radius: 12px; }
  .prowl-root .leo-board .crm-table, .prowl-root .leo-board .crm-table tbody { display: block; min-width: 0; width: 100%; }
  .prowl-root .leo-board .crm-table colgroup, .prowl-root .leo-board .crm-table thead { display: none; }
  .prowl-root .leo-board .crm-table tbody tr {
    display: grid; grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "next prog" "to to" "ask ask" "proj proj";
    gap: 4px 10px; padding: 12px 14px; border-bottom: 1px solid var(--crm-grid);
  }
  .prowl-root .leo-board .crm-table tbody tr:last-child { border-bottom: 0; }
  .prowl-root .leo-board .crm-table tbody td {
    display: block; height: auto; max-width: none; padding: 0; border: 0;
    white-space: normal; background: transparent;
  }
  .prowl-root .leo-board .crm-table tbody tr:hover td { background: transparent; }
  .prowl-root .leo-board .crm-table tbody tr:hover, .prowl-root .leo-board .crm-table tbody tr.crm-row-selected { background: var(--crm-gold-faint); }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-next { grid-area: next; display: flex; align-items: baseline; gap: 6px; font-size: 13.5px; }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-next .crm-name-sub { display: inline; }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-dots { grid-area: prog; text-align: right; }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-dots .leo-dots, .prowl-root .leo-board .crm-table tbody td.leo-cell-dots .leo-dots-label + .leo-dots-label { display: none; }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-dots .leo-dots-label { margin: 0; font-size: 13px; }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-to { grid-area: to; }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-to .crm-avatar { display: none; }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-to .leo-who-t { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-to .crm-name-text { font-size: 15.5px; font-weight: 500; color: var(--crm-head); }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-ask { grid-area: ask; padding: 0; }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-ask .leo-ask2 { font-size: 14px; color: var(--crm-ink-mid); }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-project { grid-area: proj; }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-project .crm-name-text { font-size: 13px; font-weight: 400; color: var(--crm-ink-2); }
  .prowl-root .leo-board .crm-table tbody td.leo-cell-project .crm-name-sub { display: none; }
  /* Leo's read of the board may wrap on a phone (css/leo.css .leo-dg):
     a card's corners, not a pill's. */
  .prowl-root .leo-board .crm-toolbar .crm-digest { border-radius: 10px; padding: 6px 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .prowl-root .pl-chev { transition: none; }
}
