.crm-profile-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px; margin-bottom: 14px; align-items: start; }
.crm-profile-shell { margin-bottom: 14px; }
.crm-profile-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: start; margin-bottom: 14px; }
.crm-profile-heading h2 { margin: 2px 0 4px; font-size: clamp(28px, 3vw, 44px); line-height: 1.05; }
.crm-profile-heading p { margin: 0; color: var(--fb-dark-secondary); font-size: 18px; line-height: 1.45; }
.crm-profile-tabs { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.crm-profile-tabs button { display: inline-flex; align-items: center; justify-content: space-between; gap: 7px; min-height: 44px; padding: 9px 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: rgba(255,255,255,.045); color: #dce9e0; cursor: pointer; min-width: 0; }
.crm-profile-tabs button span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 900; line-height: 1.1; }
.crm-profile-tabs button b { flex: 0 0 auto; display: inline-grid; place-items: center; min-width: 24px; min-height: 22px; padding: 0 6px; border-radius: 999px; color: #bff1a7; background: rgba(123,213,111,.13); font-size: 11px; line-height: 1; }
.crm-profile-tabs button.active { border-color: rgba(123,213,111,.48); background: linear-gradient(135deg, rgba(123,213,111,.18), rgba(216,111,213,.1)); box-shadow: inset 0 0 0 1px rgba(123,213,111,.12); }
.crm-profile-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.crm-profile-summary-grid div { padding: 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.2); }
.crm-profile-summary-grid span, .crm-profile-summary-grid strong { display: block; }
.crm-profile-summary-grid span { color: var(--fb-dark-muted); font-size: 12px; font-weight: 850; }
.crm-profile-summary-grid strong { margin-top: 4px; color: #eff8f0; font-size: 28px; line-height: 1; }
.crm-profile-card { padding: 14px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #7aa7ff; }
.crm-profile-card span, .crm-profile-card p { display: block; color: var(--fb-dark-muted); font-size: 13px; line-height: 1.45; }
.crm-profile-card strong { display: block; margin: 5px 0; font-size: 24px; line-height: 1.15; }
.crm-list-filter-panel { margin-bottom: 14px; }
.crm-filter-grid { display: grid; grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(160px, .7fr)) auto; gap: 12px; align-items: end; }
.crm-filter-grid label, .crm-note-form label { display: grid; gap: 7px; color: var(--fb-dark-secondary); font-size: 13px; font-weight: 800; }
.crm-kind-pill { display: inline-grid; place-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; color: #dff8d9; background: rgba(123,213,111,.14); border: 1px solid rgba(123,213,111,.28); font-size: 12px; font-weight: 900; }
.crm-contact-card-list { display: grid; gap: 10px; }
.crm-contact-card { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 14px; border-radius: 8px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #f0d282; }
.crm-contact-card.person { border-left-color: #7aa7ff; }
.crm-contact-card.business { border-left-color: #f0d282; }
.crm-contact-card.empty { grid-template-columns: minmax(0, 1fr); border-left-color: var(--fb-dark-muted); }
.crm-contact-card:hover { border-color: rgba(123,213,111,.28); background: rgba(123,213,111,.055); }
.crm-contact-icon-shell { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 8px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.1); }
.crm-contact-main { display: grid; gap: 10px; min-width: 0; }
.crm-contact-title-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; }
.crm-contact-title-row strong, .crm-contact-title-row span { display: block; min-width: 0; }
.crm-contact-title-row strong { color: #eff8f0; font-size: 19px; line-height: 1.15; overflow-wrap: anywhere; }
.crm-contact-title-row span { margin-top: 3px; color: #f0d282; font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
.crm-contact-title-row .crm-kind-pill { margin-top: 0; color: #dff8d9; }
.crm-contact-meta-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.crm-contact-meta-grid span { display: grid; gap: 3px; min-width: 0; padding: 9px 10px; border-radius: 8px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.07); color: #dce7df; font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
.crm-contact-meta-grid b { color: var(--fb-dark-muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.crm-contact-note { margin: 0; color: var(--fb-dark-secondary); font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.crm-tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0; }
.crm-tag-row b { display: inline-grid; place-items: center; min-height: 26px; padding: 0 9px; border-radius: 999px; color: #ffe8a6; background: rgba(232,179,79,.12); border: 1px solid rgba(232,179,79,.26); font-size: 11px; }
.crm-research-link-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.crm-research-link-grid a { display: block; padding: 12px; border-radius: 8px; color: var(--fb-dark-text); background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #d86fd5; text-decoration: none; }
.crm-research-link-grid a:hover { border-color: rgba(123,213,111,.36); background: rgba(123,213,111,.08); }
.crm-research-link-grid strong, .crm-research-link-grid span { display: block; }
.crm-research-link-grid span { margin-top: 5px; color: var(--fb-dark-muted); font-size: 12px; line-height: 1.4; }
.crm-note-form { display: grid; gap: 12px; }
.crm-note-form textarea { min-height: 120px; resize: vertical; }

@media (max-width: 1100px) {
    .crm-profile-heading { grid-template-columns: 1fr; }
    .crm-contact-card { grid-template-columns: 42px minmax(0, 1fr); }
    .crm-contact-card > .ghost-link-button { grid-column: 2; justify-self: start; }
    .crm-contact-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .crm-profile-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .crm-contact-card { grid-template-columns: 1fr; }
    .crm-contact-card > .ghost-link-button { grid-column: 1; }
    .crm-contact-title-row, .crm-contact-meta-grid { grid-template-columns: 1fr; }
}
.crm-signal-list { display: grid; gap: 10px; }
.crm-signal-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding: 12px; border-radius: 8px; background: rgba(0,0,0,.22); border: 1px solid rgba(255,255,255,.08); border-left: 4px solid #e8b34f; }
.crm-signal-list article:nth-child(2n) { border-left-color: #f06bd8; }
.crm-signal-list span, .crm-signal-list p { display: block; color: var(--fb-dark-muted); font-size: 12px; line-height: 1.4; }
.crm-signal-list strong { display: block; font-size: 17px; }
.crm-signal-list p { grid-column: 1 / -1; margin: 0; }
.crm-signal-list b { display: grid; place-items: center; width: 42px; height: 34px; border-radius: 8px; background: rgba(232,179,79,.14); border: 1px solid rgba(232,179,79,.32); color: #ffd080; }
.active-row { background: rgba(123,213,111,.08); }
