/* 고객사 CRM(v0.4.0) — 앱 색 토큰(base.css)만 쓴다. */
.crm-loading { padding: 18px 0; color: var(--ink-muted); font-size: 13px; }
.crm-h3 { font-size: 14px; font-weight: 700; margin: 18px 0 8px; display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.crm-h3 .desc { font-weight: 400; }
.crm-dash-grid { margin-top: 4px; gap: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
#crmSalesCompare table, .crm-people { min-width: 0; width: 100%; }
.crm-filters { flex-wrap: wrap; gap: 8px; align-items: center; }
.crm-filters select { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-s); color: var(--ink); padding: 6px 8px; font: inherit; font-size: 13px; }
.crm-table td { vertical-align: middle; }
.crm-click { cursor: pointer; }
tr.crm-click:hover td, .crm-rel-row.crm-click:hover { background: var(--surface-2); }
tr.crm-row-open td { background: var(--accent-soft); }
.crm-memo { max-width: 280px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-secondary); }
.crm-memo-full { margin-top: 6px; font-size: 13px; color: var(--ink-secondary); white-space: pre-wrap; }
.crm-inline { width: 100%; min-width: 140px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-s); padding: 4px 6px; color: var(--ink); font: inherit; font-size: 12.5px; }
.crm-table select { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-s); color: var(--ink); padding: 3px 4px; font: inherit; font-size: 12.5px; }

/* 진행상태 색 — 미확인 / 확인중 / 제안 진행중 / 일정확정 / 실패·보류 */
.crm-status { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 12px; white-space: nowrap; background: var(--neutral-soft); color: var(--ink-secondary); }
.crm-status.s1, .crm-status-select.s1 { background: var(--warning-soft); color: var(--ink); }
.crm-status.s2, .crm-status-select.s2 { background: var(--accent-soft); color: var(--accent-strong); }
.crm-status.s3, .crm-status-select.s3 { background: var(--good-soft); color: var(--good-ink); }
.crm-status.s4, .crm-status-select.s4 { background: var(--critical-soft); color: var(--critical); }
.crm-action { font-size: 12px; white-space: nowrap; }
.crm-action.a1 { color: var(--critical); font-weight: 700; }
.crm-action.a2 { color: var(--accent-strong); font-weight: 600; }
.crm-action.a3 { color: var(--ink-muted); }

.crm-bar-row { display: grid; grid-template-columns: 96px 1fr 48px; gap: 8px; align-items: center; font-size: 13px; padding: 4px 0; }
.crm-bar { height: 10px; background: var(--surface-2); border-radius: 999px; overflow: hidden; }
.crm-bar i { display: block; height: 100%; background: var(--accent); border-radius: 999px; }
.crm-bar-row b { text-align: right; }

.crm-weights { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; margin-bottom: 10px; font-size: 13px; }
.crm-weights input { width: 60px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-s); color: var(--ink); padding: 3px 6px; font: inherit; }
.crm-mail-template { display: grid; gap: 8px; margin-bottom: 12px; }
.crm-mail-template textarea, #crmBulkInput, .crm-detail-grid textarea { width: 100%; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-s); color: var(--ink); padding: 8px; font: inherit; font-size: 13px; resize: vertical; }
.crm-mail-actions { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin: 8px 0; font-size: 13px; }
.crm-mail-actions input[type="number"] { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-s); color: var(--ink); padding: 3px 6px; font: inherit; }

/* 견적서 창 */
.quote-supplier { margin: 10px 0; font-size: 13px; }
.quote-supplier summary { cursor: pointer; color: var(--ink-secondary); margin-bottom: 8px; }
#quoteModal select, #quoteModal input[type="number"] { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-s); color: var(--ink); padding: 3px 5px; font: inherit; }

/* 업체 상세 */
.crm-detail-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 24px; }
@media (max-width: 900px) { .crm-detail-grid { grid-template-columns: minmax(0, 1fr); } }
.crm-flags { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.crm-flags > label:first-child { width: 100%; }
.crm-people td { padding: 3px 4px; }
.crm-people input { width: 100%; min-width: 70px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-s); padding: 4px 6px; color: var(--ink); font: inherit; font-size: 12.5px; }
.crm-opp-box { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-m); }
.crm-opp-box select { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-s); color: var(--ink); padding: 3px 4px; font: inherit; font-size: 12.5px; }
.crm-related { display: grid; gap: 4px; font-size: 13px; }
.crm-rel-row { padding: 4px 6px; border-radius: var(--radius-s); }
.crm-contact-form { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 10px; }
.crm-contact-form input, .crm-contact-form select { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-s); color: var(--ink); padding: 5px 7px; font: inherit; font-size: 13px; }
.crm-contact-form .crm-grow { flex: 1 1 260px; min-width: 0; }
.crm-ct { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; gap: 10px; padding: 8px 4px; border-top: 1px solid var(--border); font-size: 13px; align-items: start; }
.crm-ct-when { color: var(--ink-secondary); display: flex; flex-direction: column; gap: 2px; }
.crm-ct-when span { font-size: 12px; color: var(--ink-muted); }
.crm-ct-meta { font-size: 12px; color: var(--ink-muted); margin-top: 2px; }
@media (max-width: 600px) { .crm-ct { grid-template-columns: minmax(0, 1fr) auto; } .crm-ct-when { grid-column: 1 / -1; flex-direction: row; } }
