/* Dynamic CRM (RealOfficeAI.Client/Components/Crm, Pages/CRM) */

.crm-table-wrap { width: 100%; overflow-x: auto; }
.crm-table .mud-table-cell { vertical-align: middle; }
.crm-row { cursor: pointer; }
.crm-cell-title { font-weight: 600; white-space: nowrap; }
.crm-cell { max-width: 320px; }
.crm-cell-actions { white-space: nowrap; width: 1%; }
.crm-title-link { font-weight: 600; cursor: pointer; }
.crm-pager { border-top: 1px solid var(--mud-palette-lines-default); }
.crm-mono { font-variant-numeric: tabular-nums; }
.crm-link { color: var(--mud-palette-primary); text-decoration: none; }
.crm-link:hover { text-decoration: underline; }
.crm-longtext { white-space: pre-wrap; }
.crm-chip.mud-chip { height: 22px; font-size: 0.75rem; }
.crm-avatar-xs.mud-avatar { width: 26px; height: 26px; font-size: 0.7rem; }
.crm-option-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-inline-end: 6px; vertical-align: middle; }

.crm-due-overdue { color: var(--mud-palette-error); font-weight: 600; }
.crm-due-today { color: var(--mud-palette-warning); font-weight: 600; }

/* Filter builder */
.crm-filter-builder { display: flex; flex-direction: column; gap: 6px; }
.crm-filter-row { display: grid; grid-template-columns: 180px 150px minmax(200px, 1fr) 36px; gap: 8px; align-items: center; }
@media (max-width: 900px) { .crm-filter-row { grid-template-columns: 1fr; } }

/* View tabs */
.crm-view-chip.mud-chip { cursor: pointer; }

/* Kanban */
.crm-kanban { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; align-items: flex-start; min-height: 320px; }
.crm-kanban-lane { min-width: 270px; max-width: 300px; flex: 0 0 auto; background: var(--mud-palette-background-gray); border-radius: 10px; display: flex; flex-direction: column; }
.crm-kanban-lane-header { display: flex; align-items: center; gap: 6px; padding: 8px 10px; border-radius: 10px 10px 0 0; flex-wrap: wrap; }
.crm-kanban-zone { flex: 1; min-height: 120px; padding: 6px; display: flex; flex-direction: column; gap: 6px; }
.crm-kanban-card { padding: 8px 10px; cursor: grab; border-radius: 8px; }
.crm-kanban-card:hover { box-shadow: var(--mud-elevation-3); }
.crm-kanban-dragging { opacity: 0.6; }
.crm-kanban-card-title { margin-bottom: 4px; }
.crm-kanban-card-field { display: flex; gap: 6px; align-items: center; font-size: 0.8rem; margin-top: 2px; flex-wrap: wrap; }
.crm-kanban-card-label { color: var(--mud-palette-text-secondary); min-width: 60px; }
.crm-kanban-card-footer { margin-top: 6px; display: flex; align-items: center; justify-content: space-between; gap: 6px; }

/* Record card */
.crm-record-section { margin-bottom: 12px; }
.crm-record-grid { display: grid; gap: 10px 18px; }
.crm-record-grid.cols-1 { grid-template-columns: 1fr; }
.crm-record-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.crm-record-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .crm-record-grid { grid-template-columns: 1fr !important; } }
.crm-record-field { display: flex; flex-direction: column; gap: 2px; padding: 6px 8px; border-radius: 6px; min-height: 48px; }
.crm-record-field.editable:hover { background: var(--mud-palette-action-default-hover); cursor: text; }
.crm-record-field-label { font-size: 0.72rem; color: var(--mud-palette-text-secondary); }
.crm-record-field-value { font-size: 0.9rem; min-height: 20px; }
.crm-record-field-empty { color: var(--mud-palette-text-disabled); font-style: italic; }

/* Timeline */
.crm-timeline-item { padding: 6px 0; }
.crm-timeline-body { white-space: pre-wrap; }
.crm-timeline-meta { font-size: 0.75rem; color: var(--mud-palette-text-secondary); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.crm-field-change { font-size: 0.8rem; }
.crm-field-change .old { text-decoration: line-through; color: var(--mud-palette-text-secondary); }

/* Client header */
.crm-client-header { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.crm-client-header .mud-avatar { width: 56px; height: 56px; font-size: 1.3rem; }

/* Home */
.crm-kpi { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; }
.crm-kpi-value { font-size: 1.6rem; font-weight: 700; line-height: 1; }
.crm-kpi-label { color: var(--mud-palette-text-secondary); font-size: 0.8rem; }

/* Settings */
.crm-settings-nav .mud-nav-link { border-radius: 8px; }
.crm-field-row-system { background: var(--mud-palette-background-gray); }
.crm-option-row { display: grid; grid-template-columns: 36px 1fr 1fr 150px 90px 36px; gap: 8px; align-items: center; }
@media (max-width: 900px) { .crm-option-row { grid-template-columns: 1fr 1fr; } }

/* Tasks */
.crm-task-row { display: grid; grid-template-columns: 32px minmax(200px, 2fr) 120px 120px 150px 140px 40px; gap: 8px; align-items: center; padding: 6px 8px; border-radius: 8px; }
.crm-task-row:hover { background: var(--mud-palette-action-default-hover); }
.crm-task-row.completed .crm-task-title { text-decoration: line-through; color: var(--mud-palette-text-secondary); }
@media (max-width: 900px) { .crm-task-row { grid-template-columns: 32px 1fr; } }
.crm-task-group-title { margin: 12px 0 4px; display: flex; align-items: center; gap: 8px; }

/* Pipeline analytics */
.crm-funnel-bar { height: 10px; border-radius: 5px; background: var(--mud-palette-primary); }
