.crm { --crm-highlight:var(--accent); }
.workspace:has(>.crm)>.context { display:none; }
.crm-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 32px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.crm-tabs [aria-current="page"] { background:var(--ink); color:var(--bg); border-color:var(--ink); }
.crm-overview { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr); gap:24px; margin-bottom:24px; }
.crm-focus { border-left:3px solid var(--crm-highlight); }
.crm-focus h2 { max-width:27ch; font-size:clamp(24px,2.5vw,36px); line-height:1.15; letter-spacing:-.025em; }
.crm-focus p:not(.eyebrow) { max-width:60ch; color:var(--soft); }
.crm-numbers { display:flex; flex-direction:column; justify-content:center; margin:0; padding:16px 24px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.crm-numbers div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; }
.crm-numbers dt { color:var(--muted); }.crm-numbers dd { margin:0; font-size:32px; font-variant-numeric:tabular-nums; }
.crm-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.crm-task,.crm-mail-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; border-bottom:1px solid var(--line); }
.crm-mail-row>div { flex:1; min-width:160px; }.crm-mail-row h3 { margin:0; }.crm-mail-row p { margin:8px 0; }
.crm-mail-row>div { overflow-wrap:anywhere; }
.crm-mail-folders { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.crm-mail-folders button { display:flex; align-items:center; gap:16px; justify-content:space-between; min-width:150px; }
.crm-mail-folders button[aria-pressed="true"] { background:var(--ink); color:var(--bg); border-color:var(--ink); }
.crm-mail-count { font-variant-numeric:tabular-nums; font-size:12px; border:1px solid currentColor; border-radius:6px; padding:2px 7px; }
.crm-mail-row[data-direction="in"] .crm-direction { color:var(--positive); background:var(--positive-bg); }
.crm-mail-row[data-direction="out"] .crm-direction { color:var(--ink); background:var(--surface-hi); }
.crm-contacted { color:var(--positive); background:var(--positive-bg); }
.crm-event article[data-direction="in"] { border-left:3px solid var(--positive); }
.crm-event article[data-direction="out"] { border-left:3px solid var(--muted); }
.crm-toolbar,.crm-history-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.crm-filter { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }.crm-filter .field { min-width:150px; margin:0; flex:1; }
.crm-table-wrap { overflow:auto; }.crm-table { width:100%; min-width:650px; border-collapse:collapse; text-align:left; }.crm-table caption { text-align:left; padding-bottom:20px; color:var(--muted); }.crm-table th,.crm-table td { padding:16px 12px; border-bottom:1px solid var(--line); vertical-align:top; }.crm-table th { font-size:12px; color:var(--muted); font-weight:600; }.crm-table small { display:block; color:var(--muted); margin-top:8px; overflow-wrap:anywhere; }
.crm-contact-link { background:transparent; color:var(--ink); border:0; padding:0; text-align:left; font-weight:650; min-height:28px; text-decoration:underline; text-underline-offset:4px; }
.crm-back { display:flex; align-items:center; gap:16px; color:var(--muted); margin-bottom:24px; }.crm-contact-layout { display:grid; grid-template-columns:minmax(230px,300px) minmax(0,1fr); gap:32px; align-items:start; }.crm-person { position:sticky; top:24px; overflow-wrap:anywhere; }.crm-person .actions { margin:24px 0; }.crm-person dt { margin-top:20px; color:var(--muted); font-size:12px; }.crm-person dd { margin:8px 0 0; }.crm-avatar { display:grid; place-items:center; width:56px; height:56px; border:1px solid var(--line); border-radius:50%; background:var(--surface-hi); font-size:24px; font-weight:600; }.crm-address { font-size:14px; }
.crm-history { min-width:0; }.crm-history-head h2 { margin:0; }.crm-timeline { padding:0 0 0 20px; margin:0; list-style:none; border-left:1px solid var(--line); }.crm-event { position:relative; margin:0 0 24px; }.crm-event::before { content:""; position:absolute; width:9px; height:9px; left:-25px; top:28px; background:var(--crm-highlight); border-radius:50%; border:1px solid var(--bg); }.crm-event h3 { margin-top:0; overflow-wrap:anywhere; }.crm-event .actions { margin-top:16px; }.crm-message-body { overflow-wrap:anywhere; max-height:450px; overflow:auto; }.crm-event summary,.crm-recipient-list summary { padding:12px 0; cursor:pointer; }.crm-ai-note { margin-top:16px; padding:16px; border-left:2px solid var(--focus); background:var(--surface-hi); }
.crm-pipeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.crm-lane { padding:16px; background:var(--surface-hi); border-radius:var(--radius); min-width:0; }.crm-lane>header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }.crm-lane h2 { font-size:16px; margin:0; }.crm-lane .panel { padding:16px; margin-bottom:12px; }.crm-lane h3 { font-size:15px; }.crm-lane p { overflow-wrap:anywhere; font-size:13px; color:var(--muted); }
.crm-campaign { display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between; margin-bottom:16px; }.crm-connections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:24px; }.crm-connections h2 { font-size:20px; overflow-wrap:anywhere; }.crm-recipient-list { max-height:48vh; overflow:auto; margin:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.crm-recipient-list details { border-bottom:1px solid var(--line); }.crm-check { display:flex; gap:12px; align-items:start; margin:24px 0; line-height:1.5; }.crm-check input { width:20px; height:20px; flex-shrink:0; margin-top:2px; }
@media(max-width:1100px) { .crm-connections { grid-template-columns:1fr; }.crm-pipeline { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .crm-overview,.crm-columns,.crm-contact-layout { grid-template-columns:1fr; }.crm-person { position:static; }.crm-pipeline { grid-template-columns:1fr; }.crm-filter { width:100%; }.crm-tabs { gap:8px; margin-bottom:24px; }.crm-tabs button { flex:1 0 28%; }.crm-numbers { padding:12px 20px; }.crm-back { align-items:start; flex-direction:column; } }
@media(max-width:480px) { .crm-tabs button { flex:1 0 40%; padding:12px 10px; overflow-wrap:normal; word-break:normal; } }
