/* UI-06P: request-scoped CRM; shared shell tokens and UI-02 dialog owner. */
.cc-crm { min-width:0; color:var(--cc-ink); }
.cc-crm-heading { display:flex; gap:1rem; justify-content:space-between; margin-block-end:1.2rem; }
.cc-crm-heading h1 { font-size:clamp(24px,2.3vw,32px); font-weight:750; margin:0; line-height:1.65; overflow-wrap:anywhere; }
.cc-crm-heading p { color:var(--cc-ink-soft); max-width:80ch; margin:.5rem 0; line-height:1.9; }
.cc-crm-heading .cc-crm-eyebrow { color:var(--cc-accent); font-size:12px; font-weight:650; }
.cc-crm-nav,.cc-crm-sections { display:flex; flex-wrap:wrap; gap:.6rem; margin-block:1rem 1.5rem; }
.cc-crm-nav a,.cc-crm-sections a { display:inline-flex; align-items:center; min-height:44px; padding:.65rem 1rem; border:1px solid var(--cc-line); border-radius:12px; background:var(--cc-surface); color:var(--cc-ink); text-decoration:none; }
.cc-crm-nav a[aria-current=page] { background:var(--cc-accent); color:var(--cc-accent-ink); border-color:var(--cc-accent); box-shadow:0 3px 16px var(--cc-glow-button); }
.cc-crm :is(.cc-panel,.cc-contact-card,.cc-pipeline-column,.cc-pipeline-card,.cc-metric-card) { min-width:0; border:1px solid var(--cc-line); border-radius:var(--cc-radius-md); background:var(--cc-surface); box-shadow:var(--cc-shadow-sm),0 0 18px var(--cc-glow-card); overflow-wrap:anywhere; }
.cc-crm .cc-panel { padding:1.4rem; margin-block:1.1rem; scroll-margin-top:6rem; }
.cc-crm h2 { font-size:19px; font-weight:700; margin:0 0 1rem; line-height:1.7; }
.cc-crm h3 { font-size:16px; font-weight:650; line-height:1.8; }
.cc-crm :is(p,small) { line-height:1.9; }
.cc-crm .cc-form-inline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:end; }
.cc-crm .cc-form label { min-width:0; }
.cc-crm :is(input:not([type=hidden]),select,textarea) { max-width:100%; }
.cc-crm .cc-form-inline :is(button,a) { justify-self:start; }
.cc-crm button { min-height:44px; border-radius:10px; font:inherit; padding:.65rem 1rem; }
.cc-crm button:not(.cc-danger):not(.cc-primary) { background:var(--cc-surface); color:var(--cc-ink); border:1px solid var(--cc-line-strong); }
.cc-crm button.cc-primary { box-shadow:inset 0 1px 0 var(--cc-glow-sheen),0 3px 14px var(--cc-glow-button); }
.cc-crm :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--cc-focus); outline-offset:3px; }
.cc-crm .cc-table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--cc-line); border-radius:12px; }
.cc-crm .cc-table { margin:0; min-width:720px; }
.cc-crm .cc-table th { background:var(--cc-subtle); color:var(--cc-ink-soft); }
.cc-crm .cc-table td { overflow-wrap:anywhere; max-width:360px; }
.cc-crm .cc-table a { display:inline-block; padding-block:.6rem; min-height:44px; }
.cc-crm .cc-pagination { display:flex; gap:1rem; flex-wrap:wrap; align-items:center; justify-content:space-between; margin-block:1rem; }
.cc-crm .cc-pagination a { padding:.6rem 1rem; border:1px solid var(--cc-line); border-radius:10px; min-height:44px; }
.cc-crm .cc-pipeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; overflow:visible; }
.cc-crm .cc-pipeline-column { padding:1rem; background:var(--cc-surface-sunken); }
.cc-crm .cc-pipeline-card { padding:1rem; margin-block:.8rem; }
.cc-crm .cc-pipeline-card h4 { margin:0; font-size:14px; }
.cc-crm .cc-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.cc-crm .cc-contact-card { padding:1.2rem; margin-block:1rem; }
.cc-crm .cc-contact-card.cc-overdue { border-inline-start:4px solid var(--cc-warn); }
.cc-crm .cc-actions,.cc-crm .cc-action-grid { display:flex; flex-wrap:wrap; gap:.65rem; margin-block:1rem; }
.cc-crm .cc-metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:.8rem; }
.cc-crm .cc-metric-card { display:flex; flex-direction:column; gap:.8rem; padding:1rem; border-top:3px solid var(--cc-accent-line); }
.cc-crm .cc-metric-card span { color:var(--cc-ink-soft); font-size:13px; }
.cc-crm .cc-metric-card strong { font-size:28px; color:var(--cc-accent); }
.cc-crm .cc-dashboard-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.cc-crm .cc-timeline { padding-inline-start:1.3rem; }
.cc-crm .cc-timeline li { border-inline-start:2px solid var(--cc-accent-line); padding:0 1rem 1.2rem; margin-block:.8rem; }
.cc-crm .cc-crm-info { display:grid; grid-template-columns:minmax(90px,1fr) minmax(0,3fr); gap:.6rem 1.2rem; margin-block:1rem; }
.cc-crm-info dt { color:var(--cc-ink-soft); }.cc-crm-info dd { margin:0; overflow-wrap:anywhere; }
.cc-crm .cc-badge { line-height:1.7; white-space:normal; }
.cc-crm .cc-panel-inner { margin-block:1rem; padding:1rem; border:1px solid var(--cc-line); border-radius:12px; }
.cc-crm .cc-panel-inner summary { min-height:44px; cursor:pointer; }
@media(max-width:1100px) { .cc-crm .cc-pipeline { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .cc-crm .cc-panel { padding:1rem; }
  .cc-crm .cc-form-inline,.cc-crm .cc-contact-grid,.cc-crm .cc-dashboard-columns,.cc-crm .cc-pipeline { grid-template-columns:minmax(0,1fr); }
  .cc-crm-nav a { flex:1 1 40%; justify-content:center; padding:.6rem; }
  .cc-crm .cc-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cc-crm .cc-pagination { justify-content:center; }
}

.cc-crm .cc-outcome-list a { text-decoration:underline; text-underline-offset:.2em; }
