/* crm-prospecting.css - fetch-1661: CRM > Prospecting. The geometry is portal.css's fetch-1660 .wk-* rules (the Pipeline's, lifted);
 * Full note: docs/m3-comment-archive/crm-prospecting-css.json #8ff0545ce174d907
 */
.wk-scope--winback { --pipe-accent: var(--pipe-orange); }
.wk-scope--rebook { --pipe-accent: var(--ok-fg); }
.wk-scope--open { --pipe-accent: var(--pipe-blue); }
.pr-list .wk-row { min-height: var(--control-height-touch); } /* the row is the door: a 44px target at every width, not the font's line height (Inter lands at 44; a fallback face at 42, which CI's runner draws) */
.pr-val { flex: 0 0 auto; align-self: flex-start; text-align: right; font-weight: 700; font-size: var(--t-mid); font-variant-numeric: tabular-nums; }
.pr-val small { display: block; font-weight: 400; color: var(--muted); font-size: var(--t-label); }
.pr-list-tools { flex: 0 0 auto; }
.pr-list-tools .sel { min-height: var(--control-height-sm); padding-top: 0; padding-bottom: 0; }
.pr-more { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); flex-wrap: wrap; padding: var(--s-1) 0; }
.pr-stands { gap: var(--s-1) var(--s-2); }
.pr-stand { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 0; min-width: 0; padding: var(--s-1) var(--s-1); line-height: 1.3; }
.pr-stand .muted { font-size: var(--t-label); }
.pr-two { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--s-3); align-items: start; }
.pr-card { min-width: 0; padding: var(--s-3); border: 1px solid var(--hair); border-radius: var(--r-m); display: grid; gap: var(--s-2); }
.pr-card h3 { margin: 0; font-size: var(--t-mid); }
.pr-composer { display: grid; gap: var(--s-2); }
.pr-composer-row { display: flex; align-items: center; gap: var(--s-2); flex-wrap: wrap; }
.pr-composer-row--line .pr-line { flex: 1 1 12rem; min-width: 0; }
.pr-kind > .btn.cmenu-trigger, .pr-return > .btn.cmenu-trigger { width: auto; gap: var(--s-1); padding: 0 var(--s-2); font-weight: 600; white-space: nowrap; }
.pr-effect { flex: 1 1 100%; }
.pr-date { max-width: 11rem; }
.pr-ask { display: grid; gap: var(--s-2); padding: var(--s-3); border: 1px solid var(--hair); border-left: 3px solid var(--gold); border-radius: var(--r-m); background: var(--wash); }
.pr-ask-note { display: flex; flex-direction: column; gap: var(--s-1); font-size: var(--t-sub); color: var(--text-heading); }
.pr-ask-note textarea { width: 100%; box-sizing: border-box; font: inherit; }
.pr-ask-actions { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.pr-ev { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--s-2); align-items: center; width: 100%; min-height: var(--control-height-sm); padding: var(--s-1) 0; border: 0; border-top: 1px solid var(--hair); background: transparent; font: inherit; font-size: var(--t-sub); color: var(--ink); text-align: left; cursor: pointer; }
.pr-ev:first-of-type { border-top: 0; }
.pr-ev-d { color: var(--muted); white-space: nowrap; }
.pr-ev-v { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-ev-m { white-space: nowrap; }
.pr-why-h { margin: 0; } /* fetch-1847: Why now */
.pr-why-row { border-top: 0; }
.pr-why-row + .pr-why-row { border-top: 1px solid var(--hair); }
.pr-why-row .pr-ev-v { white-space: normal; }
.pq-triage { font-size: var(--t-sub); color: var(--muted); margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pq-triage-at { position: absolute; top: 0; right: 0; height: var(--control-height-touch); display: flex; align-items: center; }
.pq-triage-card { margin-bottom: var(--s-3); }
.pq-triage-card .load-failed { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: start; }
.pq-triage-at > .btn.pq-triage-mark { width: var(--control-height-icon); min-width: var(--control-height-icon); height: var(--control-height-icon); min-height: var(--control-height-icon); padding: 0; border-radius: 999px; border: 2px solid transparent; color: var(--navy); background: linear-gradient(var(--paper), var(--paper)) padding-box, conic-gradient(from 200deg, var(--pipe-orange), var(--brand-gold-light), var(--pipe-purple), var(--pipe-blue), var(--pipe-orange)) border-box; }
.pq-triage-at > .btn.pq-triage-mark[aria-expanded="true"] { color: var(--paper); background: conic-gradient(from 200deg, var(--pipe-orange), var(--pipe-purple), var(--pipe-blue), var(--pipe-orange)) border-box; }
@media (max-width: 640px) { .pq-triage-at > .btn.pq-triage-mark { width: var(--control-height-touch); min-width: var(--control-height-touch); height: var(--control-height-touch); min-height: var(--control-height-touch); } }
.pr-empty .empty-state { margin: 0; }
@media (max-width: 900px) { .pr-two { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
  .pr-composer .sel, .pr-composer .btn, .pr-ask .sel, .pr-ask .btn, .pr-kind > .btn.cmenu-trigger, .pr-return > .btn.cmenu-trigger, .pr-list-tools .sel, .pr-more .btn, .pr-ev, .pr-list [data-prospect-clear], .pr-why-ai .btn { min-height: var(--control-height-touch); }
  .pr-val { font-size: var(--t-sub); }
  .wk-sheet-bar .btn { min-height: var(--control-height-touch); } /* the phone's Back is a 44px target */
  .pr-record [data-pipeclose] { min-height: var(--control-height-touch); } /* fetch-1663: the inquiry record pane Back too - by the binder hook, never a Pipeline class name (probe1661 S3); the Pipeline builder draws it, Inter lands at 44 and a fallback face at 42 */
}
/* fetch-1662: the Today and Plans scopes - the scope accents, the sub-list choices, the plan filter token, the kept-draft line, the plan pane's cards and the action pane; tokens only */
.wk-scope--today { --pipe-accent: var(--navy); }
.wk-scope--plans { --pipe-accent: var(--pipe-purple); }
.pr-tools { display: flex; align-items: center; justify-content: flex-start; gap: var(--s-2); flex-wrap: wrap; margin: var(--s-2) 0 0; } /* fetch-1671: the pane's second row - the sub-list segment and the plan token; the primary moved up to the head row */
.pr-sub { display: inline-flex; gap: 0; flex-wrap: nowrap; } /* fetch-1671: one joined segment (the Pipeline's own list-tools shape), never loose pills */
.btn.pr-sub-b { border-radius: 0; white-space: nowrap; min-height: var(--control-height-sm); padding-top: 0; padding-bottom: 0; }
.pr-sub-b:first-child { border-radius: var(--r-s) 0 0 var(--r-s); }
.pr-sub-b + .pr-sub-b { margin-left: -1px; }
.pr-sub-b:last-child { border-radius: 0 var(--r-s) var(--r-s) 0; }
.pr-sub-b[aria-pressed="true"] { border-color: var(--navy); background: var(--wash); font-weight: 600; box-shadow: inset 0 -2px 0 var(--gold); position: relative; z-index: 1; } /* the chosen view: the underline, never a fill (rule 6) */
.pr-token { display: inline-flex; align-items: center; gap: var(--s-1); max-width: 100%; min-height: var(--control-height-sm); padding: 0 0 0 var(--s-2); border: 1px solid var(--hair); border-radius: var(--r-l); background: var(--surface-card); font-size: var(--t-sub); }
.pr-token-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-token-x { min-width: var(--control-height-touch); min-height: var(--control-height-touch); border: 0; background: transparent; font-size: var(--t-body); } /* the token's × is a 44px target (rule 21) */
.pr-kept { margin: 0 0 var(--s-2); }
.pr-kept p { margin: 0 0 var(--s-2); }
.pr-two--plan { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pr-card--wide { grid-column: 1 / -1; }
.pr-rec--plan .crm-gt-facts { gap: var(--s-2); }
.pr-rec--plan .crm-gt-track { margin-top: var(--s-2); }
.crm-gt-goals { display: grid; gap: var(--s-2); }
.crm-gt-goal { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--s-1) var(--s-2); margin: 0; font-size: var(--t-sub); }
.crm-gt-goal .pg-label { font-weight: 600; color: var(--text-heading); }
.crm-gt-goal--meter { display: block; }
.pr-ms-date { display: block; font-weight: 400; color: var(--muted); font-size: var(--t-label); white-space: nowrap; }
.pr-target { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-2); padding: var(--s-1) 0; border-top: 1px solid var(--hair); }
.pr-target:first-of-type { border-top: 0; }
.pr-target-b { min-height: var(--control-height-sm); }
.pr-target-h { margin-top: var(--s-2); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.pr-task .crmx-detail { border: 0; border-radius: 0; }
.pr-task .crmx-detail-head { padding: var(--s-2) 0 var(--s-3); }
.pr-task .crmx-detail-body { padding: 0; }
.pr-task .crmx-detail-head h2 { margin: 0; font-size: var(--t-title); line-height: 1.2; }
.pr-list .wk-group .group-label { margin-top: var(--s-2); }
@media (max-width: 900px) { .pr-two--plan { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
  .pr-sub-b, .pr-tools .btn, .pr-kept .btn, .pr-target-b, .pr-rec--plan .wk-rec-acts .btn, .pr-rec--plan .wk-rec-acts .icon-btn { min-height: var(--control-height-touch); }
  .pr-rec--plan .crm-gt-track { display: none; }
}
/* fetch-1671 (Jack 10-20, two Prospecting screenshots: Today's "bland area with floating buttons", Win back's search "too big" with the
 * Full note: docs/m3-comment-archive/crm-prospecting-css.json #9d2462633041c9c0
 */
.pr-pane { padding: var(--s-2) var(--s-3) var(--s-3); margin-bottom: 0; }
.pr-pane .pr-search { margin: 0 0 var(--s-2); flex-wrap: nowrap; }
.pr-search-in { flex: 1 1 8rem; min-height: var(--control-height-sm); font-size: var(--t-sub); padding: 0 var(--s-2); }
.btn.pr-filters { flex: 0 0 auto; display: inline-flex; align-items: center; gap: var(--s-1); min-height: var(--control-height-sm); padding-top: 0; padding-bottom: 0; white-space: nowrap; }
.pr-filters--on { border-color: var(--brand-gold-mid); color: var(--text-heading); font-weight: 600; } /* the door shows when something non-default is applied behind it (the header door's own rule) */
.pr-pane .wk-list-h { margin: 0; min-height: var(--control-height-sm); }
.pr-head .wk-list-x { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pr-head-act { margin-left: auto; flex: 0 0 auto; }
.pr-pane .pr-head-act .btn { min-height: var(--control-height-sm); padding-top: 0; padding-bottom: 0; white-space: nowrap; }
.pr-pane .wk-list-body, .pr-pane .pr-cal-body { margin-top: var(--s-2); }
.pr-pane .wk-list-body > .wk-row:last-child, .pr-pane .wk-group:last-child .wk-row:last-child { margin-bottom: 0; }
.pr-empty-state { max-width: 28rem; padding: var(--s-5) var(--s-3); }
.pr-empty-state .es-title { color: var(--text-heading); }
.pr-empty-state .es-body { margin-bottom: 0; }
.pr-empty-state .es-act { margin-top: var(--s-3); }
.pr-list--cal .cl-fill { border: 0; box-shadow: none; margin: 0; } /* the reading's section is already inside the pane card: no card in a card */
@media (max-width: 640px) {
  .pr-search-in, .btn.pr-filters, .pr-pane .pr-head-act .btn, .pr-pane .btn.pr-sub-b, .pr-empty-state .es-act .btn { min-height: var(--control-height-touch); } /* 44px targets on a phone (rule 16) */
  .pr-sub { display: flex; width: 100%; }
  .pr-sub-b { flex: 1 1 0; }
}
/* fetch-1663: the Open dates scope's Calendar reading in the list pane's place - the pane widens to the grid (the record pane beside it,
 * Full note: docs/m3-comment-archive/crm-prospecting-css.json #f6651f7d7206ccf4
 */
@media (min-width: 641px) {
  .pr-grid--cal { grid-template-columns: minmax(0, 1fr) minmax(17rem, 31%); }
  .pr-grid--cal.wk-open { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pr-header .pgh-meta { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
.pr-list--cal .pr-cal-body { min-width: 0; }
.pr-list--cal .cl-fill { padding: var(--s-2) 0 0; }
.pr-list--cal .cl-fill-explain { margin-block: var(--s-2) var(--s-3); }
@media (min-width: 641px) { .pr-scopes .wk-scope-def { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } } /* the definition is the card's title attribute too, so a narrow desktop (1024) keeps the card at 84px instead of wrapping it to 100 */
@media (min-width: 641px) { .pr-scopes { grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); } } /* fetch-1694: a manager's seven cards (Rotation joined them) stay one row at 1024 - its 920px strip holds 7 x 118 + 6 gaps = 874px, where portal.css's 128px minimum needed 944 and wrapped the strip, pushing every list down 92px (probe1674 H1) */
/* fetch-1688 (Jack 10-21): the plan editor in the record pane's place - the cards grid, each row with its trash icon, the Details disclosure, the sticky foot that keeps / discards / saves, the boxes that grow with their text. Tokens only. */
.pr-rec--editor .crm-g-editor { margin-top: var(--s-3); }
.pr-rec--editor .crm-g-editor section.crm-g-sec { margin-top: 0; padding: var(--s-3); border-top: 1px solid var(--hair); }
.pr-rec--editor .crm-g-sec h3 { font-size: var(--t-mid); margin: 0; }
.crm-g-cards { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-3); align-items: start; }
.crm-g-hint { display: block; margin: 0; color: var(--muted); font-size: var(--t-sub); font-weight: 400; }
.crm-g-pick { display: grid; gap: var(--s-2); }
.pr-rec--editor .actions { display: flex; gap: var(--s-2); align-items: center; flex-wrap: wrap; } /* the picker row and the template row wrap inside a narrow pane (1024, the phone) instead of widening the page */
.pr-rec--editor .actions select { flex: 1 1 12rem; min-width: 0; max-width: 100%; }
.crm-g-target, .crm-g-ms { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-2); align-items: start; }
.crm-g-target-main { min-width: 0; display: grid; gap: var(--s-2); }
.crm-g-target-name { font-size: var(--t-body); }
.crm-g-more > summary { cursor: pointer; font-weight: 600; min-height: var(--control-height-sm); display: flex; align-items: center; gap: var(--s-2); }
.crm-g-more > summary .crm-g-hint { display: inline; }
.crm-g-more[open] > summary { margin-bottom: var(--s-2); }
.pr-rec--editor .crm-g-foot { position: sticky; bottom: 0; z-index: 1; align-items: center; margin: var(--s-3) calc(-1 * var(--s-4)) calc(-1 * var(--s-4)); padding: var(--s-3) var(--s-4); border-top: 1px solid var(--hair); background: var(--surface-card); }
.crm-g-foot-gap { flex: 1 1 auto; }
@media (min-width: 901px) { .pr-rec--editor .crm-g-foot { padding-right: calc(var(--s-4) + 3.5rem); } } /* the pane ends under the Crystal launcher's corner: the primary sits clear of it (the Pipeline's save bar has the same corner - a launcher clearance rule is worth revisiting) */
.crm-g-foot .crm-g-msg, .crm-g-foot .crm-g-discard { flex: 1 1 100%; margin: 0; }
.crm-g-editor textarea.crm-g-grow { min-height: 0; resize: none; overflow: hidden; line-height: 1.45; }
@media (max-width: 900px) { .crm-g-cards { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) { body.has-rail .pr-rec--editor .crm-g-foot { bottom: calc(var(--control-height-touch) + var(--s-3) + var(--s-3) + env(safe-area-inset-bottom, 0px)); } } /* above the phone's bottom bar, the Pipeline save bar's own offset */
@media (max-width: 640px) { .pr-rec--editor .crm-g-foot .btn { flex: 1 1 9rem; min-height: var(--control-height-touch); } .pr-rec--editor .crm-g-foot .btn-primary { order: -1; flex-basis: 100%; } /* the primary first and full width, the two keep / discard choices under it */ .pr-rec--editor .crm-g-remove, .pr-rec--editor .crm-g-more > summary, .pr-rec--editor .crm-g-pick .btn { min-height: var(--control-height-touch); } .pr-rec--editor .crm-g-remove { min-width: var(--control-height-touch); } }
