/* cp-manage.css — Case Partner management surface (T7 #463).
   Shared by the board page (/case-partner, for the inline proposal send form)
   and the dashboard's "Case partners" tab (/js/cp-manage.js): the
   own-invitation rows, the proposal rows, the status chips, the mini action
   buttons and the two disclaimer boxes. Page-level shells (.cp-panel on the
   board, .acct-card on the dashboard) stay page-local. Palette comes from
   the design-system vars both pages define; --line/--text-secondary are
   board-page-only names, so they carry literal fallbacks for the dashboard,
   and radii are literals (the pages' --radius values differ). */

/* Buttons — page-scoped class (never a bare .btn: the shared nav pill is
   off-limits). Used by the accept-confirm block and the board forms. */
.cp-btn{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink);border:none;padding:12px 22px;border-radius:999px;font-weight:700;font-size:15px;font-family:inherit;cursor:pointer;transition:filter .15s ease}
.cp-btn:hover{filter:brightness(.96)}
.cp-btn:disabled{opacity:.55;cursor:not-allowed}
.cp-btn-ghost{background:transparent;border:1.5px solid var(--line,rgba(13,27,22,.1));color:var(--ink)}
.cp-btn-approve{background:var(--leaf);color:#fff}
.cp-btn-danger{background:transparent;border:1.5px solid var(--danger);color:var(--danger)}

/* Avatars — the initial-in-circle shared by board cards and list rows. */
.cp-avatar{width:42px;height:42px;border-radius:50%;background:var(--moss);color:var(--lime);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0;font-family:'Fraunces',Georgia,serif}
.cp-avatar-sm{width:28px;height:28px;font-size:13px}

/* Chips — card meta chips and the incoming-row identity chips. */
.cp-chips{display:flex;flex-wrap:wrap;gap:6px}
.cp-chip{background:var(--mist);color:var(--moss);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}
.cp-chip-firm{background:transparent;border:1px solid var(--gold);color:var(--moss)}

/* My invitations — the management rows (status chip, when, level, pending
   count, per-status actions). 5-cell rows under the .cp-mine-head labels. */
.cp-mine-head,.cp-mine-row{display:grid;grid-template-columns:minmax(108px,auto) minmax(150px,1.4fr) .7fr .9fr auto;gap:10px;align-items:center}
.cp-mine-head{padding:0 0 6px;font-size:12px;font-weight:700;color:var(--text-secondary,rgba(13,27,22,.56));text-transform:uppercase;letter-spacing:.04em}
.cp-mine-row{padding:12px 0;border-top:1px solid var(--line,rgba(13,27,22,.1));font-size:14px}
.cp-mine-row:first-child{border-top:none}
.cp-mine-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.cp-status{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.cp-status-pending{background:#fff4dd;color:#8a6410}
.cp-status-live{background:var(--mist);color:var(--leaf)}
.cp-status-rejected{background:#fbe4e0;color:var(--danger)}
.cp-status-archived{background:var(--mist);color:var(--text-secondary,rgba(13,27,22,.56))}
.cp-status-accepted{background:#e7f6dc;color:var(--leaf)}
.cp-status-declined{background:#fbe4e0;color:var(--danger)}
.cp-status-withdrawn,.cp-status-expired{background:var(--mist);color:var(--text-secondary,rgba(13,27,22,.56))}
.cp-status-taken_down{background:#fbe4e0;color:var(--danger)}
.cp-reject-reason{font-size:13px;color:var(--danger)}
.cp-btn-mini{background:var(--mist);border:1px solid var(--line,rgba(13,27,22,.1));color:var(--moss);padding:6px 12px;border-radius:999px;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:filter .15s ease}
.cp-btn-mini:hover{filter:brightness(.96)}
.cp-btn-mini-danger{background:transparent;border-color:var(--danger);color:var(--danger)}
.cp-btn-mini-approve{background:var(--leaf);border-color:var(--leaf);color:#fff}
.cp-mine-msg{margin:12px 0 0;font-size:14px;font-weight:600}
.cp-mine-msg.ok{color:var(--leaf)}
.cp-mine-msg.err{color:var(--danger)}

/* Proposals — the management rows and the accept confirm. The disclaimers
   are product surface: the decisive sentence is bolded and placed at the
   exact moment a reveal becomes possible. */
.cp-disclaimer{margin:0;background:var(--mist);border:1px solid var(--line,rgba(13,27,22,.1));border-radius:10px;padding:10px 14px;font-size:13.5px;color:var(--moss)}
.cp-prop-row{display:grid;grid-template-columns:minmax(108px,auto) minmax(180px,1.4fr) minmax(120px,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--line,rgba(13,27,22,.1));font-size:14px}
.cp-prop-row:first-child{border-top:none}
.cp-prop-when,.cp-prop-who{min-width:0}
.cp-prop-who .cp-chips{display:inline-flex;margin-left:2px;vertical-align:middle}
.cp-prop-note{color:var(--text-secondary,rgba(13,27,22,.56));font-size:13.5px;min-width:0;overflow-wrap:anywhere}
.cp-muted{color:var(--text-secondary,rgba(13,27,22,.56));font-style:italic}
.cp-prop-confirm{margin-top:10px;padding-top:12px;border-top:1px dashed var(--line,rgba(13,27,22,.1));display:flex;flex-direction:column;gap:10px;grid-column:1/-1}
.cp-prop-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Dashboard tab chrome — the stand-first, section hints and empty states of
   the Case partners tab (/js/cp-manage.js). cpd- prefixed: they belong to
   the tab's markup only. */
.cpd-intro{font-size:14px;color:var(--text-secondary,rgba(13,27,22,.6));margin:0 0 18px}
.cpd-intro a,.cpd-empty a{color:var(--leaf);font-weight:600}
.cpd-hint{color:var(--text-secondary,rgba(13,27,22,.56));font-size:14px;margin:0 0 14px}
.cpd-empty{color:var(--text-secondary,rgba(13,27,22,.56));background:var(--mist);border-radius:12px;padding:22px 18px;font-size:14px;text-align:center}

@media (max-width:640px){
  .cp-mine-head{display:none}
  .cp-mine-row{display:flex;flex-wrap:wrap}
  .cp-prop-row{display:flex;flex-wrap:wrap}
}
