.crm-root { display: grid; gap: 14px; min-width: 0; }
.crm-tabs { display: flex; gap: 6px; padding: 5px; overflow-x: auto; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.crm-tabs button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 7px 13px; color: var(--muted); background: transparent; border: 0; box-shadow: none; }
.crm-tabs button.active { color: var(--text); background: var(--surface-strong); box-shadow: inset 0 0 0 1px var(--border); }
.crm-view { display: grid; gap: 14px; min-width: 0; }
.crm-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; }
.crm-toolbar h3, .crm-section h3, .crm-setting-group h3 { margin: 0; font-size: 17px; }
.crm-toolbar p, .crm-section header p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.crm-toolbar-actions { display: flex; align-items: center; gap: 8px; }
.crm-toolbar-actions input { width: min(390px, 50vw); }
.crm-filter-bar { display: grid; grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(150px, .7fr)); gap: 8px; padding: 12px; }
.crm-pipeline-filters { grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); }
.crm-report-filter { grid-template-columns: repeat(6, minmax(130px, 1fr)); }
.crm-link-button { width: auto; min-height: 0; padding: 0; color: var(--text); background: transparent; border: 0; border-radius: 0; box-shadow: none; font-weight: 700; text-align: start; }
.crm-link-button:hover { color: var(--emerald); background: transparent; }
.crm-contact-picker { display: grid; grid-template-columns: minmax(0, 1fr) 42px; align-items: start; gap: 7px; }
.crm-contact-picker > .btn-icon { width: 42px; height: 42px; min-height: 42px; font-size: 22px; }
.crm-contact-picker .task-searchable-select { min-width: 0; }
.crm-stage-label { display: inline-flex; align-items: center; gap: 7px; }
.crm-stage-label i { width: 8px; height: 25px; border-radius: 3px; }
.crm-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.crm-kpis article { display: grid; gap: 5px; min-height: 108px; padding: 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }
.crm-kpis article span, .crm-kpis article small { color: var(--muted); font-size: 12px; }
.crm-kpis article strong { align-self: end; font-size: 22px; color: var(--text); }
.crm-kpis article.warning { border-color: color-mix(in srgb, #d6af37 50%, var(--border)); }
.crm-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 12px; }
.crm-section { padding: 16px; }
.crm-section > header { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; }
.crm-stage-summaries, .crm-upcoming, .crm-activity-list { display: grid; gap: 7px; }
.crm-stage-summary { display: grid; grid-template-columns: 12px minmax(120px, .7fr) minmax(120px, 1fr) auto; align-items: center; gap: 10px; min-height: 52px; border-bottom: 1px solid var(--border); }
.crm-stage-summary:last-child { border-bottom: 0; }
.crm-stage-summary > div { display: grid; }
.crm-stage-summary small { color: var(--muted); }
.crm-color { width: 10px; height: 28px; border-radius: 3px; background: var(--crm-color); }
.crm-stage-meter { height: 7px; overflow: hidden; border-radius: 4px; background: var(--surface-strong); }
.crm-stage-meter i { display: block; height: 100%; border-radius: inherit; background: var(--emerald); }
.crm-pipeline { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(265px, 1fr); gap: 10px; overflow-x: auto; padding-bottom: 8px; }
.crm-pipeline-column { min-height: 390px; border: 1px solid var(--border); border-radius: 8px; background: color-mix(in srgb, var(--surface) 86%, transparent); transition: border-color .18s, background .18s; }
.crm-pipeline-column.drag-over { border-color: var(--emerald); background: color-mix(in srgb, var(--emerald) 9%, var(--surface)); }
.crm-pipeline-column > header { display: grid; gap: 5px; padding: 12px; border-top: 4px solid var(--crm-color); border-bottom: 1px solid var(--border); }
.crm-pipeline-column > header > div { display: flex; justify-content: space-between; gap: 8px; }
.crm-pipeline-column > header small { color: var(--muted); }
.crm-pipeline-column > header b { font-size: 12px; }
.crm-deal-list { display: grid; align-content: start; gap: 8px; padding: 9px; min-height: 310px; }
.crm-deal-card { position: relative; display: grid; gap: 8px; padding: 12px; border: 1px solid var(--border); border-inline-start: 3px solid var(--emerald); border-radius: 7px; background: var(--surface); cursor: grab; }
.crm-deal-card:active { cursor: grabbing; }
.crm-deal-card.priority-critical { border-inline-start-color: #ef4444; }
.crm-deal-card.priority-high { border-inline-start-color: #d6af37; }
.crm-deal-card header, .crm-deal-card footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.crm-deal-card p { margin: 0; color: var(--muted); font-size: 12px; }
.crm-deal-card footer { color: var(--muted); font-size: 11px; }
.crm-deal-status-stamp { position: absolute; z-index: 2; inset-inline-start: 50%; top: 52%; min-width: 88px; padding: 5px 13px 4px; border: 3px double currentColor; border-radius: 6px; color: #15803d; background: color-mix(in srgb, var(--surface) 72%, transparent); font-size: 17px; font-weight: 900; line-height: 1; text-align: center; transform: translate(-50%, -50%) rotate(-10deg); opacity: .88; pointer-events: none; }
.crm-deal-status-stamp.lost { color: #dc2626; transform: translate(-50%, -50%) rotate(9deg); }
.crm-deal-card.status-won { border-color: color-mix(in srgb, #16a34a 48%, var(--border)); }
.crm-deal-card.status-lost { border-color: color-mix(in srgb, #dc2626 48%, var(--border)); }
.crm-activity-indicator { position: static; display: grid; place-items: center; justify-self: end; width: 27px; height: 27px; min-height: 27px; padding: 0; border: 0; border-radius: 50%; box-shadow: none; }
.crm-activity-indicator i { display: block; width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.crm-activity-indicator.active { color: #087f5b; background: color-mix(in srgb, #10b981 18%, var(--surface)); }
.crm-activity-indicator.overdue { color: #dc2626; background: color-mix(in srgb, #ef4444 18%, var(--surface)); }
.crm-activity-indicator.missing { color: #b7791f; background: color-mix(in srgb, #f59e0b 18%, var(--surface)); }
.crm-activity-indicator.missing i { width: 0; height: 0; border-inline: 6px solid transparent; border-bottom: 11px solid currentColor; border-radius: 0; background: transparent; }
.crm-table .crm-activity-indicator { margin-inline: auto; }
.crm-card-actions { position: absolute; z-index: 3; inset-inline-end: 7px; bottom: 31px; display: flex; gap: 4px; opacity: 0; transition: opacity .16s; }
.crm-deal-card:hover .crm-card-actions, .crm-deal-card:focus-within .crm-card-actions { opacity: 1; }
.crm-drop-empty { display: grid; place-items: center; min-height: 80px; color: var(--muted); border: 1px dashed var(--border); border-radius: 7px; font-size: 12px; }
.crm-closed-deals { padding: 14px; }
.crm-table { padding: 0; }
.crm-table td strong, .crm-table td small { display: block; }
.crm-table td small { margin-top: 3px; color: var(--muted); }
.crm-activity-list { padding: 10px; }
.crm-activity-row { display: grid; grid-template-columns: 38px minmax(170px, 1fr) minmax(125px, .45fr) auto auto; align-items: center; gap: 10px; min-height: 66px; padding: 9px 10px; border-bottom: 1px solid var(--border); }
.crm-activity-row:last-child { border-bottom: 0; }
.crm-activity-row > div { display: grid; gap: 3px; }
.crm-activity-row small { color: var(--muted); }
.crm-activity-row.completed { opacity: .66; }
.crm-activity-row.completed strong { text-decoration: line-through; }
.crm-activity-row.overdue { border-inline-start: 3px solid #ef4444; }
.crm-activity-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--emerald-dark); background: color-mix(in srgb, var(--emerald) 14%, var(--surface)); }
.crm-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 0; overflow: hidden; }
.crm-setting-group { padding: 16px; border-bottom: 1px solid var(--border); }
.crm-setting-group:nth-child(odd) { border-inline-end: 1px solid var(--border); }
.crm-setting-group > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.crm-setting-group > header small { color: var(--muted); }
.crm-setting-list { display: grid; gap: 6px; }
.crm-setting-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 9px; min-height: 52px; padding: 8px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface-strong); }
.crm-setting-row > div:not(.row-actions) { display: grid; gap: 2px; }
.crm-setting-row small { color: var(--muted); }
.crm-setting-symbol { display: grid; place-items: center; width: 27px; height: 35px; color: var(--muted); }
.crm-setting-symbol i { width: 9px; height: 29px; border-radius: 3px; }
.crm-team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.crm-sales-director { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; }
.crm-sales-director > div { display: flex; align-items: center; gap: 10px; }
.crm-sales-director h3, .crm-sales-director p { margin: 0; }
.crm-sales-director p { margin-top: 3px; color: var(--muted); font-size: 12px; }
.crm-sales-director-control { display: grid !important; grid-template-columns: minmax(190px, 260px) auto; }
.crm-team-card { padding: 15px; }
.crm-team-card > header { display: flex; align-items: start; justify-content: space-between; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
.crm-team-card > header > div { display: flex; align-items: center; gap: 9px; }
.crm-team-card h3, .crm-team-card p { margin: 0; }
.crm-team-card p { margin-top: 3px; color: var(--muted); font-size: 12px; }
.crm-team-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 7px; color: var(--emerald-dark); background: color-mix(in srgb, var(--emerald) 15%, var(--surface)); }
.crm-team-manager { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px 0; }
.crm-team-manager span, .crm-team-manager small { color: var(--muted); font-size: 11px; }
.crm-team-members, .crm-team-member-list { display: grid; gap: 6px; }
.crm-team-members > div { display: flex; align-items: center; gap: 8px; padding: 7px; border-radius: 6px; background: var(--surface-strong); }
.crm-team-members > div > span:last-child { display: grid; }
.crm-team-members small { color: var(--muted); }
.crm-member-avatar { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; color: white; background: var(--navy); }
.crm-team-member-list { max-height: 390px; overflow-y: auto; padding: 3px; }
.crm-team-member-picker { display: grid; grid-template-columns: minmax(190px, 1fr) auto; align-items: center; gap: 8px; padding: 8px; border-bottom: 1px solid var(--border); }
.crm-team-member-picker > label { display: flex; align-items: center; gap: 8px; }
.crm-team-member-picker > label span { display: grid; }
.crm-team-member-picker small { color: var(--muted); }
.crm-report-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.crm-report-grid article:nth-child(3) { grid-column: 1 / -1; }
.crm-report-grid .crm-report-wide { grid-column: 1 / -1; }
.crm-report-bars { display: grid; gap: 12px; }
.crm-report-bar { display: grid; gap: 5px; }
.crm-report-bar > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.crm-report-bar span { color: var(--muted); font-size: 12px; }
.crm-report-bar > i { display: block; height: 9px; overflow: hidden; border-radius: 5px; background: var(--surface-strong); }
.crm-report-bar > i b { display: block; height: 100%; border-radius: inherit; background: var(--emerald); }
.crm-profile { display: grid; gap: 14px; }
.crm-profile-filters { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)) auto; gap: 8px; padding: 10px; border: 1px solid var(--border); border-radius: 8px; }
.crm-profile-summary { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding: 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-strong); }
.crm-profile-summary > div, .crm-profile-contact { display: grid; gap: 5px; }
.crm-profile-summary strong { font-size: 20px; }
.crm-profile-summary span, .crm-profile p, .crm-profile small { color: var(--muted); }
.crm-mini-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.crm-mini-kpis > div { display: grid; gap: 5px; padding: 12px; border: 1px solid var(--border); border-radius: 7px; }
.crm-mini-kpis span { color: var(--muted); font-size: 11px; }
.crm-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.crm-profile-grid > section { padding: 14px; border: 1px solid var(--border); border-radius: 8px; }
.crm-profile-grid > section.wide { grid-column: 1 / -1; }
.crm-profile-grid h4 { margin: 0 0 12px; }
.crm-profile-grid dl { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 8px; margin: 0; }
.crm-profile-grid dt { color: var(--muted); }
.crm-profile-grid dd { margin: 0; overflow-wrap: anywhere; }
.crm-profile-timeline { display: grid; gap: 7px; }
.crm-profile-timeline > div, .crm-profile-timeline > button { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 9px 10px; color: var(--text); text-align: start; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); box-shadow: none; }
.crm-profile-timeline span { display: grid; gap: 3px; }
.crm-profile-timeline time { color: var(--muted); font-size: 11px; }
.crm-import-defaults { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
:root[data-theme="dark"] .crm-pipeline-column { background: rgba(8, 29, 47, .72); }

@media (max-width: 1050px) {
  .crm-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crm-dashboard-grid { grid-template-columns: 1fr; }
  .crm-report-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .crm-tabs { margin-inline: -4px; }
  .crm-toolbar { align-items: stretch; flex-direction: column; }
  .crm-toolbar-actions { align-items: stretch; flex-direction: column; }
  .crm-toolbar-actions input { width: 100%; }
  .crm-filter-bar, .crm-report-filter { grid-template-columns: 1fr; }
  .crm-kpis { grid-template-columns: 1fr 1fr; gap: 7px; }
  .crm-kpis article { min-height: 92px; padding: 11px; }
  .crm-kpis article strong { font-size: 17px; }
  .crm-stage-summary { grid-template-columns: 10px minmax(100px, 1fr) auto; }
  .crm-stage-meter { display: none; }
  .crm-pipeline { grid-auto-columns: minmax(82vw, 1fr); }
  .crm-activity-row { grid-template-columns: 36px minmax(0, 1fr); }
  .crm-activity-row > div:nth-of-type(2), .crm-activity-row > .badge, .crm-activity-row > .row-actions { grid-column: 2; }
  .crm-settings-grid { grid-template-columns: 1fr; }
  .crm-setting-group:nth-child(odd) { border-inline-end: 0; }
  .crm-report-grid { grid-template-columns: 1fr; }
  .crm-report-grid article:nth-child(3) { grid-column: auto; }
  .crm-profile-summary { flex-direction: column; }
  .crm-team-grid { grid-template-columns: 1fr; }
  .crm-sales-director { align-items: stretch; flex-direction: column; }
  .crm-sales-director-control { grid-template-columns: 1fr !important; }
  .crm-team-member-picker { grid-template-columns: 1fr; }
  .crm-profile-filters { grid-template-columns: 1fr; }
  .crm-contact-picker { grid-template-columns: minmax(0, 1fr) 42px; }
  .crm-mini-kpis, .crm-profile-grid, .crm-import-defaults { grid-template-columns: 1fr; }
  .crm-profile-grid > section.wide { grid-column: auto; }
}
