/* Hallmark · component: prowl-inbox · genre: operate · theme: crm · pre-emit critique: P4 H4 E4 S4 R4 V3 */
/* PROWL › REQUESTS and ACTION CENTER (js/prowl-requests.js, js/prowl-action.js).

   The design system is the CRM's (css/page-crm.css): the controls card
   (.crm-controls › .crm-views › .crm-view-chip), the group name, the raised
   tables (.crm-tablewrap + table.crm-table) and the outlined buttons
   (.crm-tbtn). This file adds only what those lack — the
   cells of a request and of a recommendation, what a recommendation's
   drawer holds, the list items a row becomes when the pane is narrow, and the
   loading, empty and stale states — in tokens only, never a raw colour.
   Facts and actions only: nothing on these pages explains itself.
   Gold TEXT is --gold-ink; a state is a word plus a drawn mark, never a
   colour alone. Motion: a pressed button's 1px, gone under
   prefers-reduced-motion (the drawer brings its own entrance).

   Widths come from js (data-layout on the panel): wide — every column;
   mid (Requests) — the project and date columns fold into the request's
   own cell; list — each row is a list item (the phone layout). */

/* ── The page's parts ──────────────────────────────────────────────────── */
.prowl-ib .crm-controls { margin: 0; }
/* No toolbar row under the views here, so no divider under them either. */
.prowl-ib .prowl-ib-views { border-bottom: 0; gap: 0 8px; }
.prowl-ib-tabs { display: flex; align-items: center; min-width: 0; }
.prowl-ib .crm-view-chip { white-space: nowrap; }
.prowl-ib-n { font-weight: 400; color: var(--crm-ink-2); font-variant-numeric: tabular-nums; }

.prowl-ib-panel { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.prowl-ib-panel[hidden] { display: none; }
.prowl-ib-group { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.prowl-ib-ghead { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; min-width: 0; }
.prowl-ib-ghead .crm-group-name { margin: 0; line-height: 1.3; overflow-wrap: anywhere; }
.prowl-ib-ghead .crm-group-count { font-variant-numeric: tabular-nums; }
/* The group's count, Live, and where the recommendations come from: one
   muted line of meta after the name — words, not a pill. */
.prowl-ib-gmeta { min-width: 0; font-size: 12.5px; line-height: 1.45; color: var(--crm-ink-2); }
.prowl-ib-gmeta .crm-group-count { font-size: inherit; }
.prowl-ib-sep { padding: 0 6px; }

/* ── The tables ────────────────────────────────────────────────────────────
   The CRM's grid, with rows tall enough for a sentence: cells wrap, the row
   is at least 64px, and nothing in a row is a link to the row itself. */
.crm-table.prowl-ib-table th { height: 34px; padding: 0 12px; }
.crm-table.prowl-ib-table td {
  box-sizing: border-box; height: 64px; padding: 10px 12px;
  max-width: none; overflow: visible; white-space: normal; vertical-align: middle;
}
.crm-table.prowl-ib-table tbody tr { cursor: default; }
.crm-table.prowl-ib-table tbody tr > td { border-bottom: 1px solid var(--crm-grid); }
.crm-table.prowl-ib-table tbody:last-child > tr:last-child > td { border-bottom: 0; }

/* Requests: Request · From/To · Project · Proposed · Request status · Your move */
.prowl-rq-table th.prowl-rq-c-person { width: 168px; }
.prowl-rq-table th.prowl-rq-c-project { width: 168px; }
.prowl-rq-table th.prowl-rq-c-due { width: 128px; }
.prowl-rq-table th.prowl-rq-c-status { width: 164px; }
.prowl-rq-table th.prowl-rq-c-move { width: 236px; }
.prowl-ib-panel[data-layout="mid"] .prowl-rq-c-project,
.prowl-ib-panel[data-layout="mid"] .prowl-rq-c-due { display: none; }
.prowl-ib-panel[data-layout="mid"] .prowl-rq-table th.prowl-rq-c-person { width: 160px; }
.prowl-ib-panel[data-layout="mid"] .prowl-rq-table th.prowl-rq-c-status { width: 150px; }
.prowl-ib-panel[data-layout="mid"] .prowl-rq-table th.prowl-rq-c-move { width: 224px; }

/* Action Center: Leo suggests · Project · Because of · Your move — four
   cells a row, nothing spanning; under 860px the rows become list items. */
.prowl-ac-table th.prowl-ac-c-proj { width: 180px; }
.prowl-ac-table th.prowl-ac-c-src { width: 190px; }
.prowl-ac-table th.prowl-ac-c-move { width: 220px; }

/* What carries Requests' folded columns, shown only when they fold. */
.prowl-rq-midmeta { display: none; }
.prowl-ib-panel[data-layout="mid"] .prowl-rq-midmeta { display: inline; }

/* ── Buttons in rows: the CRM's outlined button, plus states it lacks ──── */
.prowl-ib .prowl-ib-btn {
  box-sizing: border-box; flex: none; padding: 0 11px;
  white-space: nowrap; text-decoration: none;
}
.prowl-ib .prowl-ib-btn svg { flex: none; }
.prowl-ib .prowl-ib-strong { padding-left: 9px; color: var(--crm-head); font-weight: 600; }
.prowl-ib .prowl-ib-strong svg { color: currentColor; }
.prowl-ib .prowl-ib-btn:active:not([aria-disabled="true"]) { transform: translateY(1px); background: var(--crm-panel); }
.prowl-ib .prowl-ib-btn[aria-disabled="true"],
.prowl-ib .prowl-ib-btn[aria-disabled="true"]:hover {
  opacity: 0.55; cursor: progress;
  border-color: var(--crm-rule-firm); background: var(--crm-paper); color: var(--crm-ink-mid);
}
.prowl-ib .prowl-ib-btn[aria-disabled="true"] svg { color: currentColor; }

.prowl-rq-moves, .prowl-ac-moves { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0; }
.prowl-rq-none { font-size: 12.5px; line-height: 1.45; color: var(--crm-ink-2); }
/* A refusal, said beside the control that failed. */
.prowl-ib-err {
  display: flex; align-items: flex-start; gap: 6px; margin: 6px 0 0;
  font-size: 12px; line-height: 1.45; color: var(--crm-blocked); white-space: normal;
}
.prowl-ib-err svg { flex: none; margin-top: 1px; }

/* ── Cells both tabs share ─────────────────────────────────────────────── */
.prowl-ib-sub {
  display: block; font-size: 11.5px; line-height: 1.4; color: var(--crm-ink-2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.prowl-ib-proj {
  display: block; max-width: 100%; font-size: 13px; line-height: 1.4; color: var(--crm-head);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
a.prowl-ib-proj { text-decoration: underline; text-decoration-color: var(--crm-rule-firm); text-underline-offset: 3px; }
/* A long address takes a second line rather than losing its site. */
td .prowl-ib-proj {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  white-space: normal; overflow-wrap: anywhere;
}
.prowl-ib-inproj { color: inherit; text-decoration: underline; text-decoration-color: var(--crm-rule-firm); text-underline-offset: 3px; }
.prowl-ib-inproj:hover { color: var(--crm-head); text-decoration-color: var(--crm-gold); }
a.prowl-ib-proj:hover { text-decoration-color: var(--crm-gold); }
.prowl-ib-proj.is-plain { color: var(--crm-ink-mid); }

.prowl-ib-person { display: flex; align-items: center; gap: 9px; min-width: 0; }
.prowl-ib-avatar {
  flex: none; width: 28px; height: 28px; box-sizing: border-box; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--crm-panel-2); border: 1px solid var(--crm-rule-firm);
  font-size: 11px; font-weight: 600; color: var(--crm-ink-mid);
}
.prowl-ib-person-text { display: flex; flex-direction: column; min-width: 0; }
.prowl-ib-name { font-size: 13.5px; line-height: 1.35; color: var(--crm-head); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* A state is a word and a mark: clock pending, tick accepted, cross declined, dash cancelled. */
.prowl-ib-state { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; line-height: 1.35; white-space: nowrap; }
.prowl-ib-state svg { flex: none; }
.prowl-ib-state.is-pending { color: var(--amber-ink); }
.prowl-ib-state.is-accepted { color: var(--crm-clear); }
.prowl-ib-state.is-declined { color: var(--crm-head); }
.prowl-ib-state.is-cancelled { color: var(--crm-ink-2); }
.prowl-ib-prio { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; line-height: 1.35; color: var(--crm-ink-2); white-space: nowrap; }
.prowl-ib-prio svg { flex: none; }
.prowl-ib-prio.is-urgent { color: var(--crm-blocked); font-weight: 600; }
.prowl-ib-prio.is-high { color: var(--amber-ink); font-weight: 600; }
.prowl-ib-late { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; line-height: 1.35; color: var(--crm-blocked); white-space: nowrap; }
.prowl-ib-late svg { flex: none; }

/* ── A request ─────────────────────────────────────────────────────────── */
.prowl-rq-kind { display: flex; align-items: flex-start; gap: 6px; min-width: 0; margin: 3px 0 0; font-size: 12px; line-height: 1.45; color: var(--crm-ink-2); }
.prowl-rq-kind svg { flex: none; margin-top: 2px; }
.prowl-rq-kind > span { min-width: 0; overflow-wrap: anywhere; }
.prowl-rq-title { display: block; margin: 0; font-size: 14px; line-height: 1.35; font-weight: 500; color: var(--crm-head); overflow-wrap: anywhere; }
.prowl-rq-title.is-closed { color: var(--crm-ink-2); }
.prowl-rq-msg {
  display: block; margin: 3px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--crm-ink-mid);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.prowl-rq-reason { margin: 3px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--crm-head); overflow-wrap: anywhere; }
.prowl-rq-reason b { font-weight: 600; }
.prowl-rq-c-due > *, .prowl-rq-c-status > .prowl-ib-state { display: flex; }
.prowl-rq-c-due > * + * { margin-top: 2px; }
.prowl-rq-due { font-size: 13px; line-height: 1.35; color: var(--crm-ink); white-space: nowrap; }
.prowl-rq-c-status .prowl-ib-sub { margin-top: 2px; white-space: normal; }

/* ── A recommendation ──────────────────────────────────────────────────────
   A row is the CRM board's: hover tints it, the one whose card is open stays
   selected (.crm-row-selected), and anywhere on it opens the card. */
.crm-table.prowl-ib-table tbody tr.prowl-ac-row { cursor: pointer; }
.prowl-ac-titlerow { margin: 0; min-width: 0; }
/* The title is the row's way in for the keyboard: a real button, read as the
   title — two lines at most. */
.prowl-ac-open {
  display: block; width: 100%; margin: 0; padding: 0; border: 0; background: none;
  font: inherit; color: inherit; text-align: left; cursor: pointer;
}
.prowl-ac-title {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
  margin: 0; font-size: 14px; line-height: 1.35; font-weight: 500; color: var(--crm-head); overflow-wrap: anywhere;
}
.prowl-ac-title.is-settled { color: var(--crm-ink-2); }
.prowl-ac-open:hover .prowl-ac-title { text-decoration: underline; text-decoration-color: var(--crm-rule-firm); text-underline-offset: 3px; }
.prowl-ac-why {
  display: block; font-size: 12.5px; line-height: 1.45; color: var(--crm-ink-mid);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.prowl-ac-why.is-full { white-space: normal; overflow-wrap: anywhere; }
.prowl-ac-outcome { display: inline-flex; align-items: flex-start; gap: 6px; font-size: 12.5px; line-height: 1.45; font-weight: 500; }
.prowl-ac-outcome svg { flex: none; margin-top: 2px; }
.prowl-ac-outcome.is-converted, .prowl-ac-outcome.is-handled { color: var(--crm-clear); }
.prowl-ac-outcome.is-dismissed { color: var(--crm-ink-2); }
.prowl-ac-outcome.is-snoozed { color: var(--amber-ink); }
.prowl-ac-c-move .prowl-ac-outcome { font-weight: 600; white-space: nowrap; }

.prowl-ac-src { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 12.5px; line-height: 1.4; color: var(--crm-ink); }
.prowl-ac-src svg { flex: none; color: var(--crm-ink-2); }
.prowl-ac-src > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prowl-ac-fresh { display: block; margin-top: 2px; font-size: 11.5px; line-height: 1.4; color: var(--crm-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.prowl-ac-fresh.is-stale { color: var(--amber-ink); font-weight: 600; }

/* The phone's ⋯ beside the main action. */
.prowl-ac-more {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; margin-left: auto; padding: 0; border: 0; border-radius: 6px;
  background: transparent; color: var(--crm-ink-2); cursor: pointer;
}
.prowl-ac-more:hover, .prowl-ac-more[aria-expanded="true"] { background: var(--crm-panel-2); color: var(--crm-head); }
.prowl-ac-more:active { transform: translateY(1px); }

/* ── One recommendation, in the drawer (window.ProwlDrawer) ─────────────────
   The card is the task detail's (css/prowl-work.css); inside it, the facts
   in the rail and three plain sections in the body. */
.pt-rail > .prowl-acd-facts { margin-top: 0; padding-top: 0; border-top: 0; }
.prowl-acd-v { color: var(--crm-ink-2); overflow-wrap: anywhere; }
.prowl-acd-v b { font-weight: 600; color: var(--crm-head); }
.prowl-acd { display: flex; flex-direction: column; gap: 22px; }
.prowl-acd-sec { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.prowl-acd-h { margin: 0; font-family: var(--font-sans); font-size: 12px; font-weight: 600; line-height: 1.4; color: var(--crm-ink-2); }
.prowl-acd-p { margin: 0; max-width: 72ch; font-size: 14px; line-height: 1.55; color: var(--crm-ink); overflow-wrap: anywhere; }
.prowl-acd-proposes { color: var(--crm-ink-mid); }
.prowl-acd-proposes b { font-weight: 600; color: var(--crm-head); }
.prowl-acd-ev { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.prowl-acd-ev li { display: flex; flex-direction: column; gap: 3px; min-width: 0; max-width: 72ch; font-size: 13.5px; line-height: 1.5; color: var(--crm-ink); overflow-wrap: anywhere; }
.prowl-acd-when { color: var(--crm-ink-2); font-variant-numeric: tabular-nums; }
.prowl-acd-quote { display: block; color: var(--crm-ink-mid); }

.prowl-ac-live { color: var(--crm-ink-mid); }
.prowl-ac-live-dot { display: inline-block; width: 7px; height: 7px; margin: 0 6px 1px 0; border-radius: 50%; background: var(--crm-clear); vertical-align: middle; }

/* Stale: the list stopped being current, says since when, and how to fix it. */
.prowl-ac-stale {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--amber-ink) 40%, transparent); border-radius: 10px;
  background: var(--amber-bg); color: var(--crm-head); font-size: 13px; line-height: 1.5;
}
.prowl-ac-stale > svg { flex: none; color: var(--amber-ink); }
.prowl-ac-stale p { flex: 1 1 auto; min-width: 0; margin: 0; }
.prowl-ac-stale b { font-weight: 600; }

/* The Installer emails view: the panel that moved here, as it is. */
.prowl-ac-installers { min-width: 0; }
.prowl-ac-installers[hidden] { display: none; }
.prowl-ac-installers .leo-ic { margin-bottom: 0; }

/* ── Empty, unavailable, loading ───────────────────────────────────────── */
.prowl-ib-empty {
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
  padding: 22px 24px; border: 1px solid var(--crm-grid-strong); border-radius: 10px; background: var(--crm-paper);
}
.prowl-ib-empty b { font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--crm-head); }
.prowl-ib-empty span { max-width: 72ch; font-size: 13.5px; line-height: 1.55; color: var(--crm-ink-mid); }
.prowl-ib-empty .prowl-ib-btn { margin-top: 4px; height: 32px; }

.prowl-ib-loading { display: flex; flex-direction: column; gap: 9px; }
.prowl-ib-bar-name { width: 180px; height: 18px; border-radius: 5px; }
.prowl-ib-skelcard { overflow: hidden; border: 1px solid var(--crm-grid-strong); border-radius: 10px; background: var(--crm-paper); }
.prowl-ib-skelrow, .prowl-ac-skelrow {
  display: grid; align-items: center; gap: 0 24px; height: 64px; padding: 0 16px;
  border-bottom: 1px solid var(--crm-grid);
}
.prowl-ib-skelrow { grid-template-columns: minmax(0, 1fr) 150px 120px 110px; }
.prowl-ac-skelrow { grid-template-columns: minmax(0, 1fr) 150px 150px 110px; }
.prowl-ib-skelrow:last-child, .prowl-ac-skelrow:last-child { border-bottom: 0; }
.prowl-ib-skelcol { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.prowl-ib-skelcol .prowl-bar:first-child { width: 62%; }
.prowl-ib-skelcard > :nth-child(2) .prowl-ib-skelcol .prowl-bar:first-child { width: 48%; }
.prowl-ib-skelcard > :nth-child(3) .prowl-ib-skelcol .prowl-bar:first-child { width: 70%; }
.prowl-ib-bar-short { width: 40%; height: 10px; }
.prowl-ib-bar-btn { height: 28px; border-radius: 7px; }
.prowl-ib-loadnote { font-size: 12.5px; line-height: 1.45; color: var(--crm-ink-2); }

/* ── Dialogs: the decline reason, a day to snooze to ─────────────────── */
.prowl-ib-dialog > p { margin: 0 0 12px; }
.prowl-ib-label { display: block; margin: 0 0 6px; font-size: 12.5px; font-weight: 600; line-height: 1.4; color: var(--crm-ink-2); }
.prowl-ib-textarea, .prowl-ib-input {
  box-sizing: border-box; width: 100%; border: 1px solid var(--crm-rule-firm); border-radius: 8px;
  background: var(--crm-paper); color: var(--crm-ink); font: inherit; font-size: 13.5px; line-height: 1.5;
}
.prowl-ib-textarea { min-height: 6rem; padding: 9px 12px; resize: vertical; }
.prowl-ib-input { max-width: 220px; height: 36px; padding: 0 10px; }
.prowl-ib-textarea:hover, .prowl-ib-input:hover { background: var(--crm-panel); }

/* ── The list a row becomes when the pane is narrow ───────────────────── */
.prowl-ib-list {
  margin: 0; padding: 0; list-style: none; overflow: hidden;
  border: 1px solid var(--crm-grid-strong); border-radius: 12px; background: var(--crm-paper);
  box-shadow: var(--crm-shadow-card);
}
.prowl-rq-item, .prowl-ac-item {
  display: flex; flex-direction: column; gap: 8px; min-width: 0;
  padding: 14px 16px; border-bottom: 1px solid var(--crm-grid);
}
.prowl-rq-item:last-child, .prowl-ac-item:last-child { border-bottom: 0; }
.prowl-rq-itemhead { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; min-width: 0; }
.prowl-rq-itemhead .prowl-rq-title { flex: 1 1 auto; min-width: 0; }
.prowl-rq-itemhead .prowl-ib-state { flex: none; margin-top: 2px; }
.prowl-rq-item .prowl-rq-title, .prowl-ac-item .prowl-ac-title { font-size: 16px; }
.prowl-rq-line, .prowl-ac-line { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--crm-ink-2); overflow-wrap: anywhere; }
.prowl-ac-line { font-size: 13px; }
.prowl-ac-line .prowl-ac-fresh { display: inline; margin: 0; font-size: inherit; white-space: normal; }
.prowl-rq-item .prowl-rq-msg { margin: 0; font-size: 14px; line-height: 1.5; white-space: normal; overflow: visible; }
.prowl-rq-item .prowl-rq-reason { margin: 0; font-size: 14px; line-height: 1.5; }
.prowl-ac-item .prowl-ac-why { margin: 0; font-size: 14px; line-height: 1.5; }
.prowl-ac-outline { margin: 0; }
.prowl-ac-item .prowl-ac-outcome { font-size: 14px; }
.prowl-rq-item .prowl-rq-moves, .prowl-ac-item .prowl-ac-moves {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 4px;
}
.prowl-rq-item .prowl-rq-moves.is-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.prowl-ac-item .prowl-ac-moves.is-pair { grid-template-columns: minmax(0, 1fr) 44px; }
.prowl-ib .prowl-ib-big { justify-content: center; height: 44px; padding: 0 12px; border-radius: 8px; font-size: 15px; }
.prowl-ib .prowl-ib-big.prowl-ib-strong { padding-left: 12px; }
.prowl-ac-more.prowl-ib-big {
  width: 44px; margin: 0; border: 1px solid var(--crm-rule-firm); border-radius: 8px; background: var(--crm-paper); color: var(--crm-ink-mid);
}

/* ── On a phone ────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
  .prowl-ib-ghead .crm-group-name { font-size: 17px; }
  .prowl-ib-ghead .crm-group-count { font-size: 13px; }
  /* Requests: Received / Sent as two halves, the way the phone draws them. */
  .prowl-rq .crm-controls { background: none; border: 0; box-shadow: none; }
  .prowl-rq .prowl-ib-views { padding: 0; }
  .prowl-rq .prowl-ib-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; width: 100%; }
  .prowl-rq .prowl-ib-tabs .crm-view-chip {
    min-height: 44px; margin: 0; padding: 0 8px;
    border: 1px solid var(--crm-rule-firm); border-radius: 8px; background: var(--crm-paper); font-size: 15px;
  }
  .prowl-rq .prowl-ib-tabs .crm-view-active, .prowl-rq .prowl-ib-tabs .crm-view-active:hover {
    border-color: var(--crm-gold); background: var(--crm-gold-faint);
  }
  .prowl-rq .prowl-ib-n-word { display: none; }
  /* Action Center: the views scroll sideways on their own rail. */
  .prowl-ac .prowl-ib-views { flex-wrap: wrap; overflow: visible; }
  .prowl-ac .prowl-ib-tabs { flex: 1 1 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
  .prowl-ac .prowl-ib-tabs::-webkit-scrollbar { display: none; }
  .prowl-ac .crm-view-chip { min-height: 44px; }
  .prowl-ib-empty { padding: 18px 16px; }
  .prowl-ib-empty .prowl-ib-btn { height: 44px; }
  .prowl-ac-stale { flex-wrap: wrap; font-size: 14px; }
  .prowl-ac-stale .prowl-ib-btn { margin-left: 28px; }
  .prowl-ib-skelrow, .prowl-ac-skelrow { grid-template-columns: minmax(0, 1fr); height: 72px; }
  .prowl-ib-skelrow > .prowl-bar, .prowl-ac-skelrow > :not(.prowl-ib-skelcol) { display: none; }
  .prowl-ib-input { height: 44px; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .prowl-ib .prowl-ib-btn:active:not([aria-disabled="true"]), .prowl-ac-more:active { transform: none; }
}

/* Request rows don't open anything, so they don't light up like the CRM's
   clickable rows; their buttons carry the hover. */
.crm-table.prowl-rq-table tbody tr:hover td { background: transparent; }
