/* Customer desktop workspace; all rules stay inside CRM surfaces. */
#customerManagementView { font-size: 14px; }
#customerManagementView .customer-management-heading h2 { font-size: 24px; }
#customerManagementView h3 { font-size: 16px; }
#customerManagementView small { font-size: 12px; line-height: 1.5; }
#customerManagementView [hidden], .customer-record-dialog [hidden] { display: none !important; }
#customerManagementView .customer-overview-lower-grid { display: flex; flex-direction: column; gap: 16px; }
#customerManagementView .customer-overview-side-stack { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
#customerManagementView .customer-management-toolbar.is-open { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; padding: 16px; }
#customerManagementView .customer-management-toolbar > label { flex: 0 1 138px; min-width: 115px; }
#customerManagementView .customer-management-toolbar > .customer-management-search { flex: 1 1 300px; }
#customerManagementView .customer-management-toolbar input,
#customerManagementView .customer-management-toolbar select { font-size: 14px; min-height: 36px; width: 100%; }
#customerManagementView .customer-management-toolbar > .customer-pending-filter { flex: 0 0 auto; display: flex; align-items: center; flex-direction: row; gap: 8px; min-height: 36px; }
#customerManagementView #customerPendingFilter { width: 16px; min-height: 16px; height: 16px; }
#customerManagementView .customer-management-table { width: 100%; min-width: 960px; table-layout: fixed; }
#customerManagementView .customer-management-table th,
#customerManagementView .customer-management-table td { font-size: 14px; padding: 12px 10px; vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
#customerManagementView .customer-management-table th:nth-child(1) { width: 23%; }
#customerManagementView .customer-management-table th:nth-child(2) { width: 12%; }
#customerManagementView .customer-management-table th:nth-child(3) { width: 11%; }
#customerManagementView .customer-management-table th:nth-child(4) { width: 14%; }
#customerManagementView .customer-management-table th:nth-child(5) { width: 18%; }
#customerManagementView .customer-management-table th:nth-child(6) { width: 14%; }
#customerManagementView .customer-management-table th:nth-child(7) { width: 8%; }
#customerManagementView .customer-management-table small,
#customerManagementView .customer-management-table time { display: block; color: #62768a; font-size: 12px; margin-top: 4px; }
#customerManagementView .customer-row-actions { display: flex; gap: 6px; flex-wrap: wrap; }
#customerManagementView .customer-overview-card { border-radius: 4px; box-shadow: none; }
/* Keep Leaflet panes and controls below the workbench's sticky navigation. */
#customerManagementView .customer-overview-map-card,
#customerManagementView .customer-map-board {
  position: relative;
  isolation: isolate;
  z-index: 0;
  overflow: hidden;
}
#customerManagementView .customer-funnel-step { min-height: 39px; }
#customerManagementView .customer-funnel-copy strong { font-size: 13px; }
#customerManagementView #customerOverviewFunnel { min-height: 310px; padding: 8px 12px; }
#customerOverviewFunnel .customer-stage-summary { display: flex; justify-content: space-between; align-items: start; gap: 16px; min-height: 53px; padding: 0 4px 8px; border-bottom: 1px solid #e0e8f0; }
#customerOverviewFunnel .customer-stage-summary > div { display: grid; gap: 2px; min-width: 0; }
#customerOverviewFunnel .customer-stage-summary > div:last-child { text-align: right; }
#customerOverviewFunnel .customer-stage-summary span { color: #62768a; font-size: 12px; }
#customerOverviewFunnel .customer-stage-summary strong { color: #1c486e; font-size: 20px; font-weight: 700; line-height: 24px; }
#customerOverviewFunnel .customer-stage-summary .customer-stage-amount { font-size: 16px; overflow-wrap: anywhere; }
#customerOverviewFunnel small { margin-left: 4px; color: #62768a; font-size: 12px; font-weight: 400; }
#customerOverviewFunnel .customer-stage-row { --stage-color: #246cc0; display: grid; grid-template-columns: 76px minmax(32px, 1fr) var(--stage-count-width, 52px); align-items: center; gap: 10px; width: 100%; min-height: 36px; padding: 6px 4px; border: 0; border-bottom: 1px solid #edf1f5; border-radius: 0; background: transparent; color: #304b64; text-align: left; font: inherit; cursor: pointer; }
#customerOverviewFunnel .customer-stage-row.is-unassigned { --stage-color: #bb781b; }
#customerOverviewFunnel .customer-stage-row.is-won { --stage-color: #158366; margin-top: 4px; border-top: 1px solid #d6e8e1; border-bottom: 0; }
#customerOverviewFunnel .customer-stage-name { font-size: 13px; font-weight: 600; }
#customerOverviewFunnel .customer-stage-bar { height: 7px; overflow: hidden; border-radius: 2px; background: #edf2f6; }
#customerOverviewFunnel .customer-stage-bar i { display: block; height: 100%; background: var(--stage-color); border-radius: inherit; }
#customerOverviewFunnel .customer-stage-count { color: var(--stage-color); font-size: 16px; font-weight: 700; text-align: right; white-space: nowrap; }
#customerOverviewFunnel .customer-stage-row.is-empty .customer-stage-bar { height: 2px; background: #edf1f5; }
#customerOverviewFunnel .customer-stage-row.is-empty .customer-stage-count { color: #6b8093; font-size: 14px; font-weight: 500; }
#customerOverviewFunnel .customer-stage-row.is-empty .customer-stage-name { color: #62768a; font-weight: 400; }
#customerOverviewFunnel .customer-stage-row:hover { background: #f3f7fb; }
#customerOverviewFunnel .customer-stage-row[aria-pressed="true"] { background: #edf5ff; box-shadow: inset 2px 0 #246cc0; }
#customerOverviewFunnel .customer-stage-row.is-won[aria-pressed="true"] { background: #edf8f3; box-shadow: inset 2px 0 #158366; }
#customerOverviewFunnel .customer-stage-paused { display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; min-height: 28px; padding: 4px; border: 0; border-top: 1px solid #e0e8f0; border-radius: 0; background: transparent; color: #62768a; font: inherit; font-size: 12px; cursor: pointer; }
#customerOverviewFunnel .customer-stage-paused:hover, #customerOverviewFunnel .customer-stage-paused[aria-pressed="true"] { background: #f0f4f8; color: #304b64; }
#customerOverviewFunnel .customer-stage-empty { display: grid; align-content: center; justify-items: center; min-height: 280px; color: #62768a; text-align: center; }
#customerOverviewFunnel .customer-stage-empty strong { font-size: 14px; font-weight: 500; }
#customerManagementView .customer-today-row { min-height: 54px; }
#customerManagementView .customer-today-copy strong { font-size: 13px; }
#customerManagementView .customer-overview-empty { display: flex; flex-direction: column; gap: 10px; text-align: center; padding: 24px; }
#customerManagementView .customer-overview-pager { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-top: 1px solid #dbe5ef; }
#customerManagementView .customer-overview-pager > div { display: flex; gap: 8px; }
#customerManagementView .customer-lifecycle-row { min-height: 90px; grid-template-columns: 32px minmax(170px, 1.5fr) minmax(105px, .8fr) minmax(110px, .8fr) minmax(110px, .8fr) minmax(170px, 1.4fr) 86px; gap: 12px; }
#customerManagementView .customer-lifecycle-row.is-old-maintenance { grid-template-columns: 32px minmax(170px, 1.5fr) minmax(105px, .8fr) minmax(110px, .9fr) minmax(160px, 1.3fr) minmax(145px, 1fr) 90px; }
#customerManagementView .customer-row-primary strong { font-size: 15px; }
#customerManagementView .customer-row-follow strong { white-space: normal; overflow-wrap: anywhere; font-size: 13px; }
#customerManagementView .customer-lifecycle-toolbar { gap: 16px; padding: 16px; }
#customerManagementView .customer-map-side { min-width: 0; }
#customerManagementView #customerMapList { min-height: 0; overflow-y: auto; }
#customerManagementView .customer-map-locate-banner { max-width: calc(100% - 70px); left: 56px; top: 12px; }
#customerManagementView .customer-map-label { width: max-content; max-width: 240px; white-space: normal; line-height: 1.35; }
#customerManagementView .customer-overview-main-grid { align-items: stretch; }
#customerManagementView .customer-overview-main-grid > .customer-overview-card { height: auto; min-height: 370px; }
#customerManagementView .customer-overview-funnel { height: auto; }
#customerManagementView .customer-overview-map, #customerManagementView .customer-overview-today { height: 310px; max-height: none; }
#customerManagementView .customer-management-table td strong { font-size: 14px; line-height: 1.5; white-space: normal; overflow: visible; }
#customerManagementView .customer-equipment-table article { min-height: 48px; }
.customer-record-dialog { width: min(920px, calc(100vw - 64px)); max-height: calc(100vh - 64px); border-radius: 6px; }
.customer-record-dialog .customer-record-dialog-card { width: 100%; max-height: calc(100vh - 68px); overflow-y: auto; font-size: 14px; }
.customer-record-dialog h2 { font-size: 21px; }
.customer-record-dialog h3 { font-size: 15px; }
.customer-record-dialog input, .customer-record-dialog select, .customer-record-dialog textarea { font-size: 14px; }
.customer-record-dialog .customer-owner-options { display: flex; flex-wrap: wrap; gap: 8px 18px; max-height: 150px; overflow-y: auto; border: 1px solid #d7e2ee; border-radius: 4px; padding: 10px; margin-top: 6px; }
.customer-record-dialog .customer-owner-options label { display: inline-flex; flex-direction: row; align-items: center; gap: 7px; white-space: nowrap; }
.customer-record-dialog .customer-owner-options input { width: 16px; height: 16px; min-height: 16px; margin: 0; }
.customer-record-dialog .customer-action-select { display: grid; gap: 8px; margin-bottom: 16px; }
.customer-record-dialog .customer-action-select select { width: 100%; min-height: 38px; }
.customer-record-dialog .customer-follow-history-section { padding: 0 24px 24px; }
.customer-record-dialog .customer-crm-history article { padding: 14px 0; border-bottom: 1px solid #dbe5ef; }
.customer-record-dialog .customer-crm-history article header { display: flex; justify-content: space-between; padding: 0; border: none; gap: 14px; font-size: 13px; }
.customer-record-dialog .customer-crm-history p { white-space: pre-wrap; margin: 8px 0; line-height: 1.65; }
.customer-record-dialog .customer-crm-history small, .customer-muted { color: #62768a; }
.customer-record-dialog .customer-form-error { margin: 10px 24px; padding: 10px; color: #a52d2d; background: #fff3f3; border-left: 3px solid #cc4545; }
.customer-record-dialog footer { position: sticky; bottom: 0; background: #fff; z-index: 2; }
#customerManagementView button:focus-visible, .customer-record-dialog button:focus-visible { outline: 2px solid #1769dd; outline-offset: 2px; }
#customerManagementView button:disabled, .customer-record-dialog button:disabled { opacity: .5; cursor: not-allowed; }
#customerManagementView .primary-button, .customer-record-dialog .primary-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; border: 1px solid #1769dd; border-radius: 4px; background: #1769dd; color: #fff; padding: 7px 12px; font: inherit; cursor: pointer; }
#customerManagementView .primary-button svg, .customer-record-dialog .primary-button svg { width: 18px; height: 18px; }
#customerManagementView .primary-button span, #customerManagementView .primary-button svg { color: #fff; }
#customerManagementView .competition-project-head, #customerManagementView .competition-project-row,
#customerManagementView .competition-equipment-head, #customerManagementView .competition-equipment-row { display: grid; align-items: center; gap: 16px; padding: 14px 16px; border-bottom: 1px solid #e2eaf2; font-size: 14px; }
#customerManagementView .competition-project-head, #customerManagementView .competition-project-row { grid-template-columns: minmax(210px, 2fr) minmax(140px, 1.2fr) minmax(150px, 1.2fr) 80px 110px 70px; }
#customerManagementView .competition-equipment-head, #customerManagementView .competition-equipment-row { grid-template-columns: minmax(210px, 2fr) 1fr 1fr 1.4fr 1fr 1fr; }
#customerManagementView .competition-project-head, #customerManagementView .competition-equipment-head { background: #f3f7fb; color: #50657a; font-size: 13px; font-weight: 600; }
#customerManagementView .competition-project-row strong, #customerManagementView .competition-project-row small { display: block; white-space: normal; overflow-wrap: anywhere; }
#customerManagementView .competition-project-row small { margin-top: 4px; }
#customerManagementView .competition-project-row:nth-child(odd), #customerManagementView .competition-equipment-row:nth-child(odd) { background: #f8fbfd; }
#customerManagementView .competitor-profile-grid article { border-radius: 4px; }
#customerManagementView .competitor-profile-grid header { display: flex; align-items: center; gap: 12px; }
#customerManagementView .competitor-profile-grid header strong { display: block; font-size: 16px; }
#customerManagementView .competitor-avatar { display: grid; place-items: center; width: 36px; height: 36px; background: #ecf3fd; color: #1769dd; border-radius: 4px; }
#customerManagementView .competitor-profile-metrics { display: flex; gap: 20px; padding: 16px 0; }
#customerManagementView { background:#fff; border:1px solid #dbe5f0; border-radius:4px; gap:0; padding:0 16px 10px; font-size:13px; }
#customerManagementView *, .customer-record-dialog * { letter-spacing:0; }
#customerManagementView [hidden] { display:none!important; }
#customerManagementView button,#customerManagementView input,#customerManagementView select { font:inherit; box-shadow:none; }
#customerManagementView .customer-management-heading { display:flex; align-items:center; gap:16px; padding:14px 0 12px; border:0; border-radius:0; background:none; min-height:0; }
#customerManagementView .customer-management-title { display:flex; align-items:center; gap:12px; min-width:0; }
#customerManagementView .customer-heading-symbol { display:grid; place-items:center; flex:none; width:42px; height:42px; margin:0; background:#eaf2fc; color:#246cc0; border:1px solid #d5e5f7; border-radius:6px; }
#customerManagementView .customer-heading-symbol svg { width:24px; height:24px; }
#customerManagementView .customer-heading-copy { display:grid; gap:6px; min-width:0; }
#customerManagementView .customer-management-title-line { align-items:center; flex-wrap:wrap; gap:8px 14px; }
#customerManagementView .customer-management-title-line h2 { font-size:20px; line-height:26px; }
#customerManagementView .customer-heading-date { display:inline-flex; align-items:center; gap:6px; border-left:1px solid #dbe5ef; padding-left:12px; color:#718198; font-size:12px; line-height:18px; white-space:nowrap; }
#customerManagementView .customer-heading-date svg { width:14px; height:14px; }
#customerManagementSummary { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; margin:0; color:#62768a; }
#customerManagementSummary > span { display:inline-flex; align-items:center; gap:4px; font-size:12px; line-height:18px; color:inherit; }
#customerManagementSummary > span + span { border-left:1px solid #e0e7ef; padding-left:10px; }
#customerManagementSummary strong { color:#355472; font-size:13px; font-weight:600; font-variant-numeric:tabular-nums; }
#customerManagementSummary .customer-summary-total strong { color:#246cc0; }
#customerManagementSummary .customer-summary-pending.has-pending,#customerManagementSummary .customer-summary-pending.has-pending strong { color:#9b6415; }
#customerManagementSummary .customer-summary-pending svg { width:13px; height:13px; margin-right:1px; }
#customerManagementView .customer-management-heading-actions { gap:8px; }
#customerManagementView .customer-management-heading-actions button { display:inline-flex; flex-direction:row; gap:5px; height:32px; min-height:32px; min-width:0; border:1px solid #dbe5ef; border-radius:4px; padding:5px 10px; }
#customerManagementView .customer-management-heading-actions .primary-button { border-color:#176ff2; }
#customerManagementView .customer-management-heading-actions svg { width:15px; height:15px; }
#customerManagementView .customer-management-nav { display:flex; align-items:center; border:0; border-bottom:1px solid #dbe5ef; background:#f5f7fa; border-radius:0; padding:4px; gap:4px; min-height:48px; overflow-x:auto; }
#customerManagementView .customer-management-nav button { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:7px; min-height:38px; height:38px; border:0; border-bottom:2px solid transparent; border-radius:3px 3px 0 0; background:none; padding:0 13px; color:#596f86; font-size:13px; font-weight:600; white-space:nowrap; }
#customerManagementView .customer-management-nav button:hover { background:#eaf0f7; color:#255780; }
#customerManagementView .customer-management-nav button.is-active { color:#176bc6; background:#e6effc; border-bottom-color:#267dcc; }
#customerManagementView .customer-management-nav button:focus-visible { outline:2px solid #246cc0; outline-offset:-2px; }
#customerManagementView .customer-management-nav button svg { width:16px; height:16px; flex:none; }
#customerManagementView .customer-nav-count { display:inline-flex; align-items:center; justify-content:center; min-width:23px; height:19px; padding:0 5px; border-radius:3px; background:#e4eaf1; color:#536b83; font-size:11px; line-height:19px; font-weight:600; font-variant-numeric:tabular-nums; }
#customerManagementView .customer-management-nav button.is-active .customer-nav-count { background:#fff; color:#176bc6; }
#customerManagementView .customer-management-nav .customer-nav-group-start { position:relative; margin-left:12px; }
#customerManagementView .customer-nav-group-start::before { content:""; position:absolute; left:-9px; top:10px; width:1px; height:18px; background:#d6dfea; }
#customerManagementOverviewPanel { gap:0; }
#customerManagementView #customerManagementToolbar { padding:10px; border:0; margin:8px 0; gap:8px; background:#f7f9fc; scroll-margin-top:70px; }
#customerManagementView #customerManagementToolbar.is-open { display:grid; grid-template-columns:minmax(220px,1.7fr) repeat(4,minmax(128px,1fr)) auto 34px; align-items:center; }
#customerManagementView #customerManagementToolbar > label { min-width:0; gap:4px; }
#customerManagementView #customerManagementToolbar label > span { font-size:12px; line-height:16px; font-weight:400; }
#customerManagementView #customerOverviewFilters .customer-management-search { min-width:0; }
#customerOverviewFilters .customer-management-search svg { width:16px; height:16px; top:50%; transform:translateY(-50%); }
#customerManagementView #customerManagementSearch { padding-left:32px; }
#customerManagementView #customerOverviewFilters input,#customerManagementView #customerOverviewFilters select { height:34px; min-height:34px; font-size:13px; font-weight:400; }
#customerManagementView #customerManagementToolbar > .customer-filter-select { display:flex; flex-direction:row; align-items:center; gap:8px; height:34px; min-height:34px; padding:0 8px; border:1px solid #d7e2ee; border-radius:4px; background:#fff; cursor:pointer; }
#customerManagementView #customerManagementToolbar > .customer-filter-select > span { flex:none; color:#6b7f95; margin:0; }
#customerManagementView #customerManagementToolbar .customer-filter-select select { flex:1; min-width:0; width:100%; min-height:30px; height:30px; border:0; padding:0 18px 0 0; background-color:transparent; box-shadow:none; color:#304b64; cursor:pointer; }
#customerManagementView #customerManagementToolbar .customer-filter-select:focus-within { border-color:#267dcc; outline:2px solid #dcecff; outline-offset:1px; }
#customerManagementView #customerManagementToolbar .customer-filter-select select:focus { outline:0; }
#customerManagementView #customerManagementToolbar .customer-filter-select:has(.has-value) { border-color:#90b6e3; background:#f0f6ff; }
#customerManagementView #customerManagementToolbar .customer-filter-select .has-value { color:#176bc6; }
#customerManagementView #customerOverviewFilters .customer-pending-filter { font-size:12px; height:34px; min-height:34px; gap:6px; padding-left:8px; white-space:nowrap; }
#customerManagementView #customerOverviewFilters .customer-pending-filter:has(:checked) span { color:#176bc6; }
#customerManagementView #customerOverviewFilters #customerPendingFilter { width:16px; min-height:16px; height:16px; margin:0; }
#customerOverviewFilters #customerManagementReset { width:34px; min-width:34px; height:34px; min-height:34px; padding:7px; border:1px solid #d7e2ee; background:#fff; border-radius:4px; }
#customerOverviewFilters #customerManagementReset svg { width:17px; height:17px; }
#customerOverviewFilters #customerManagementReset:hover { color:#176bc6; background:#edf4ff; border-color:#90b6e3; }
#customerManagementView .customer-active-filters { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding-top:8px; border-top:1px solid #e1e8f1; }
#customerManagementView .customer-filter-caption { color:#62768a; font-size:12px; margin-right:4px; }
#customerManagementView .customer-active-filters button { display:inline-flex; align-items:center; gap:6px; min-width:0; max-width:280px; height:26px; min-height:26px; padding:3px 7px; border:1px solid #cbdcf1; border-radius:4px; background:#edf4ff; color:#245c91; font-size:12px; }
#customerManagementView .customer-active-filters button > span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#customerManagementView .customer-active-filters button > svg { width:13px; height:13px; flex:none; }
#customerManagementView .customer-active-filters button:hover { background:#dfeeff; border-color:#90b6e3; }
#customerManagementView #customerOverviewFilterToggle { display:none; }
#customerManagementOverviewPanel .customer-management-kpis { grid-template-columns:1fr 1fr 1fr 1.35fr 1.15fr; border:0; border-top:1px solid #e3eaf2; border-bottom:1px solid #e3eaf2; border-radius:0; padding:10px 0; }
#customerManagementOverviewPanel .customer-management-kpi { padding:0 16px; min-height:68px; }
#customerManagementOverviewPanel .customer-management-kpi:first-child { padding-left:0; }
#customerManagementOverviewPanel .customer-management-kpi:last-child { padding-right:0; }
#customerManagementOverviewPanel .customer-management-kpi > div { display:grid; align-content:start; gap:3px; width:100%; }
#customerManagementOverviewPanel .customer-management-kpi span,#customerManagementOverviewPanel .customer-management-kpi small { font-size:12px; line-height:16px; margin:0; color:#62768a; }
#customerManagementOverviewPanel .customer-management-kpi strong { font-size:24px; line-height:30px; color:#267dcc; margin:0; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
#customerManagementOverviewPanel .customer-management-kpi.is-3 strong,#customerManagementOverviewPanel .customer-management-kpi.is-4 strong { color:#148d7d; }
#customerManagementOverviewPanel .customer-management-kpi.is-5 strong { color:#ad781e; }
#customerManagementOverviewPanel .customer-kpi-icon { display:none; }
#customerManagementOverviewPanel .customer-overview-main-grid { grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,1.2fr); gap:0; border-bottom:1px solid #dbe5ef; }
#customerManagementOverviewPanel .customer-overview-main-grid>.customer-overview-card { display:flex; flex-direction:column; gap:0; border:0; border-right:1px solid #e3eaf2; border-radius:0; height:284px; min-height:0; padding:0 16px 10px; background:none; box-shadow:none; }
#customerManagementOverviewPanel .customer-overview-main-grid>.customer-overview-card:first-child { padding-left:0; }
#customerManagementOverviewPanel .customer-overview-main-grid>.customer-overview-card:last-child { border:0; padding-right:0; }
#customerManagementView .customer-overview-card-heading { padding:12px 0 8px; min-height:46px; border:0; }
#customerManagementView .customer-overview-card-heading h3 { font-size:14px; }
#customerManagementView .customer-overview-card-heading a,#customerManagementView .customer-overview-card-heading button { font-size:12px; }
#customerManagementOverviewPanel .customer-overview-card-heading { flex:none; min-height:40px; padding:10px 0 8px; gap:8px; align-items:center; }
#customerManagementOverviewPanel .customer-overview-card-heading > div { display:flex; align-items:center; gap:8px; min-width:0; }
#customerManagementOverviewPanel .customer-overview-card-heading h3 { margin:0; line-height:22px; white-space:nowrap; }
#customerManagementOverviewPanel .customer-overview-card-heading span { font-size:12px; white-space:nowrap; }
#customerManagementOverviewPanel .customer-overview-card-heading button { flex:none; min-height:22px; height:22px; padding:0; white-space:nowrap; }
#customerManagementOverviewPanel .customer-stage-summary { padding:0 0 6px; min-height:30px; gap:8px; align-items:center; flex-wrap:wrap; }
#customerManagementOverviewPanel .customer-stage-summary > div { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:6px; }
#customerManagementOverviewPanel .customer-stage-summary strong { font-size:16px; line-height:22px; }
#customerManagementOverviewPanel .customer-stage-summary .customer-stage-amount { font-size:14px; }
#customerManagementOverviewPanel .customer-stage-row { min-height:28px; height:28px; padding:4px 2px; }
#customerManagementOverviewPanel .customer-stage-name { font-size:13px; }
#customerManagementOverviewPanel .customer-stage-count { font-size:14px; }
#customerManagementOverviewPanel #customerOverviewFunnel { padding:0; overflow:auto; flex:1; height:auto; min-height:0; scrollbar-width:thin; }
#customerManagementOverviewPanel .customer-stage-empty { min-height:0; height:100%; }
#customerManagementOverviewPanel #customerOverviewMap { display:flex; flex-direction:column; flex:1; height:auto; min-height:0; background:none; padding:0; border:0; }
.customer-region-legend { display:flex; gap:14px; font-size:12px; color:#77889c; padding:5px 0 12px; }
.customer-region-legend span:last-child { margin-left:auto; }.customer-region-legend i { width:8px; height:8px; display:inline-block; background:#3382ce; margin-right:5px; }.customer-region-legend span:nth-child(2) i { background:#17978a; }
.customer-region-list { min-height:0; max-height:192px; overflow:auto; scrollbar-width:thin; }
.customer-region-list:has(.customer-overview-empty) { flex:1; max-height:none; }
.customer-region-list button { display:grid; grid-template-columns:70px minmax(0,1fr) 30px; width:100%; align-items:center; gap:8px; min-height:32px; padding:6px 2px; background:none; border:0; border-radius:0; color:#43607d; text-align:left; }
.customer-region-list button > span:first-child { overflow-wrap:anywhere; }
.customer-region-list button[aria-pressed="true"] { background:#edf5ff; box-shadow:inset 2px 0 #246cc0; }
.customer-region-list button strong { text-align:right; font-size:14px; }.customer-region-list button:hover { background:#f6f9fd; }
.customer-region-track { display:flex; height:9px; background:#f0f4f8; }.customer-region-track i { display:block; background:#3382ce; height:100%; }.customer-region-track i:nth-child(2) { background:#17978a; }
#customerManagementOverviewPanel #customerOverviewToday { padding:0; flex:1; height:auto; min-height:0; max-height:none; overflow:auto; scrollbar-width:thin; }
#customerManagementOverviewPanel .customer-today-row { min-height:46px; height:46px; padding:5px 0; gap:8px; grid-template-columns:minmax(0,1fr) 30px; align-items:center; }
#customerManagementOverviewPanel .customer-today-copy strong { font-size:13px; font-weight:600; }
#customerManagementOverviewPanel .customer-today-copy span { font-size:12px; }
#customerManagementOverviewPanel .customer-today-copy { display:grid; gap:2px; }
#customerManagementOverviewPanel .customer-today-copy strong,#customerManagementOverviewPanel .customer-today-copy span { line-height:17px; margin:0; }
#customerManagementOverviewPanel .customer-overview-empty { min-height:0; height:100%; margin:0; justify-content:center; align-items:center; font-size:13px; color:#62768a; }
#customerManagementOverviewPanel .customer-today-time { display:none; }
#customerManagementOverviewPanel .customer-overview-lower-grid { display:block; }
#customerManagementOverviewPanel .customer-overview-side-stack { display:none; }
#customerManagementOverviewPanel .customer-management-panel { border:0; border-radius:0; box-shadow:none; padding:0; }
#customerManagementOverviewPanel .customer-management-panel>.customer-overview-card-heading { padding:12px 0; }
#customerManagementOverviewPanel .customer-overview-table-heading { min-height:42px; padding:10px 0; border:0; }
#customerManagementOverviewPanel .customer-overview-table-heading > div { display:flex; align-items:center; gap:10px; }
#customerManagementOverviewPanel .customer-overview-table-heading h3 { margin:0; font-size:14px; line-height:22px; }
#customerManagementOverviewPanel .customer-overview-table-heading span { font-size:12px; line-height:18px; }
#customerManagementView .customer-management-table-wrap { max-height:510px; scrollbar-width:thin; scrollbar-gutter:stable; }
#customerManagementView .customer-management-table { font-size:13px; }
#customerManagementView .customer-management-table th { padding:9px 10px; font-size:12px; }
#customerManagementView .customer-management-table td { padding:9px 10px; font-size:13px; line-height:1.45; }
#customerManagementView .customer-management-table td strong { font-size:13px; font-weight:600; }
#customerManagementView .customer-management-table small,#customerManagementView .customer-management-table time { font-size:12px; line-height:1.5; }
#customerManagementView .customer-management-table th:nth-child(1) { width:23%; }#customerManagementView .customer-management-table th:nth-child(2) { width:11%; }#customerManagementView .customer-management-table th:nth-child(3) { width:11%; }#customerManagementView .customer-management-table th:nth-child(4) { width:14%; }#customerManagementView .customer-management-table th:nth-child(5) { width:17%; }#customerManagementView .customer-management-table th:nth-child(6) { width:16%; }#customerManagementView .customer-management-table th:nth-child(7) { width:8%; }
#customerManagementView .customer-management-table .customer-cell-clamp { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#customerManagementOverviewPanel .customer-management-table { min-width:900px; }
/* Override both cells and headers: the legacy table also sets body column widths. */
#customerManagementOverviewPanel .customer-management-table :is(th,td):nth-child(1) { width:24%; }
#customerManagementOverviewPanel .customer-management-table :is(th,td):nth-child(2) { width:10%; }
#customerManagementOverviewPanel .customer-management-table :is(th,td):nth-child(3) { width:10%; }
#customerManagementOverviewPanel .customer-management-table :is(th,td):nth-child(4) { width:13%; }
#customerManagementOverviewPanel .customer-management-table :is(th,td):nth-child(5) { width:17%; }
#customerManagementOverviewPanel .customer-management-table :is(th,td):nth-child(6) { width:16%; }
#customerManagementOverviewPanel .customer-management-table :is(th,td):nth-child(7) { width:90px; }
#customerManagementOverviewPanel .customer-ledger-name { display:flex; align-items:baseline; gap:6px; }
#customerManagementOverviewPanel .customer-ledger-name .customer-type-tag { flex:none; margin:0; padding:1px 4px; font-size:11px; line-height:16px; }
#customerManagementOverviewPanel .customer-ledger-name strong { min-width:0; margin:0; }
#customerManagementOverviewPanel .customer-management-table .is-placeholder { color:#76889b; font-weight:400; }
#customerManagementOverviewPanel .customer-row-actions { flex-wrap:nowrap; justify-content:flex-end; }
#customerManagementOverviewPanel .customer-management-table th:last-child { text-align:right; }
#customerManagementOverviewPanel .customer-management-table small,#customerManagementOverviewPanel .customer-management-table time { margin-top:3px; }
#customerManagementOverviewPanel .customer-management-table td > .customer-cell-clamp { white-space:normal; }
#customerManagementOverviewPanel #customerManagementEmpty { min-height:120px; padding:36px 16px; }
#customerManagementOverviewPanel button:focus-visible { outline:2px solid #246cc0; outline-offset:2px; }
#customerManagementOverviewPanel #customerOverviewFunnel button:focus-visible,#customerManagementOverviewPanel .customer-region-list button:focus-visible { outline-offset:-2px; }
#customerManagementTable { scroll-margin-top:70px; }
#customerManagementView .customer-row-actions { gap:5px; }
#customerManagementView .icon-button { width:30px; min-width:30px; height:30px; min-height:30px; padding:5px; border-radius:4px; }
#customerManagementView .icon-button svg { width:15px; height:15px; }
#customerManagementView .customer-stage-tag { font-size:12px; font-weight:500; padding:3px 7px; }
#customerManagementView .customer-stage-tag.is-won,#customerManagementView .customer-stage-tag.is-old { color:#148878; background:#eef8f5; border-color:#c6e6dc; }
#customerManagementView #customerOverviewPager { padding:10px 0; min-height:42px; font-size:12px; }
#customerManagementView .customer-lifecycle-panel,#customerManagementView .customer-analysis-subpage,#customerManagementView .customer-map-panel { border:0; border-radius:0; box-shadow:none; padding:0; }
#customerManagementView .customer-subpage-heading { padding:14px 0 10px; }
#customerManagementView .customer-subpage-heading h3 { font-size:15px; }
#customerManagementView .customer-lifecycle-toolbar { padding:10px 0; }
#customerManagementView .customer-lifecycle-toolbar input,#customerManagementView .customer-lifecycle-toolbar select { height:32px; min-height:32px; font-size:13px; }
#customerManagementView .customer-lifecycle-list { max-height:650px; overflow:auto; scrollbar-width:thin; }
#customerManagementView .customer-lifecycle-row { min-height:68px; padding:10px 8px; gap:12px; font-size:13px; }
#customerManagementView .customer-lifecycle-row strong { font-size:13px; }.customer-row-follow strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#customerManagementView .customer-lifecycle-row span,#customerManagementView .customer-lifecycle-row small { font-size:12px; }
@media(max-width:1400px) { #customerManagementOverviewPanel .customer-overview-main-grid>.customer-overview-card { padding-right:12px; padding-left:12px; } }
@media(max-width:1190px) { #customerManagementView #customerManagementToolbar.is-open { grid-template-columns:repeat(4,minmax(128px,1fr)) auto 34px; }#customerManagementView #customerManagementToolbar .customer-management-search { grid-column:1/-1; } }
@media(max-width:1050px) { #customerManagementOverviewPanel .customer-overview-main-grid { grid-template-columns:1fr 1fr; }#customerManagementOverviewPanel .customer-overview-main-grid>.customer-overview-card:last-child { grid-column:1/-1; height:auto; border-top:1px solid #e3eaf2; }#customerManagementView .customer-management-table { min-width:850px; } }
.workbench-map-tile-notice { display:flex; align-items:center; gap:8px; max-width:330px; padding:8px 10px; border:1px solid #e6c68a; border-radius:4px; background:#fffaf0; color:#896324; font-size:12px; line-height:1.5; }
.workbench-map-tile-notice[hidden] { display:none!important; }
.workbench-map-tile-notice button { color:#2375c4; border:0; background:none; padding:0; flex-shrink:0; cursor:pointer; }
#customerManagementView .customer-lifecycle-row { grid-template-columns:32px minmax(170px,1.5fr) minmax(105px,.8fr) minmax(110px,.8fr) minmax(110px,.8fr) minmax(170px,1.4fr) 114px; }
#customerManagementView .customer-lifecycle-row.is-old-maintenance { grid-template-columns:32px minmax(170px,1.5fr) minmax(105px,.8fr) minmax(110px,.9fr) minmax(160px,1.3fr) minmax(145px,1fr) 120px; }
#customerManagementView .customer-lifecycle-row .customer-row-actions { flex-wrap:nowrap; justify-content:flex-end; }
#customerManagementView .customer-lifecycle-row .ghost-button { min-height:30px; height:30px; padding:4px 8px; border-radius:4px; }

#customerNewPanel .customer-weekly-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; border-top:1px solid #e3eaf2; padding:10px 0; font-size:12px; }
.customer-week-picker { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.customer-week-picker label { display:flex; align-items:center; gap:8px; flex:none; white-space:nowrap; }
#customerNewPanel input[type=date], #customerNewPanel .customer-weekly-metrics select { height:32px; border:1px solid #d7e2ee; border-radius:4px; background:#fff; color:#30465f; padding:4px 7px; font:inherit; }
#customerNewPanel .ghost-button { min-height:30px; height:30px; padding:4px 8px; border-radius:4px; font-size:12px; }
#customerNewPanel .customer-weekly-metrics { display:grid; grid-template-columns:repeat(4,minmax(90px,1fr)) minmax(255px,1.6fr); border-top:1px solid #e3eaf2; border-bottom:1px solid #e3eaf2; background:#f8fafc; padding:10px 0; }
#customerNewPanel .customer-weekly-metrics > div { padding:0 16px; border-right:1px solid #e3eaf2; display:flex; flex-direction:column; gap:3px; }
#customerNewPanel .customer-weekly-metrics > div:last-child { border:0; }
#customerNewPanel .customer-weekly-metrics span { color:#62768a; font-size:12px; }
#customerNewPanel .customer-weekly-metrics strong { font-size:23px; font-weight:600; line-height:28px; color:#243e5d; }
#customerNewPanel .customer-weekly-metrics small { font-size:12px; font-weight:400; color:#62768a; }
#customerNewPanel .customer-weekly-metrics > div:nth-child(2) strong { color:#178778; }
#customerNewPanel .customer-weekly-metrics > div:nth-child(3) strong { color:#a46b15; }
#customerNewPanel .customer-weekly-secondary { align-items:flex-end; justify-content:space-between; }
#customerNewPanel .customer-weekly-secondary label { display:flex; align-items:center; gap:8px; font-size:12px; white-space:nowrap; }
#customerNewPanel .customer-weekly-secondary select { width:140px; }
#customerNewPanel .customer-lifecycle-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) minmax(170px,.4fr) minmax(170px,.4fr) auto; align-items:end; gap:12px; }
#customerNewPanel .customer-lifecycle-toolbar label { min-width:0; }
#customerNewPanel .customer-lifecycle-toolbar > label:not(.customer-lifecycle-search) { display:flex; align-items:center; gap:8px; }
#customerNewPanel .customer-lifecycle-toolbar label > span { white-space:nowrap; font-size:12px; }
#customerNewPanel .customer-lifecycle-toolbar select { min-width:0; width:100%; }
#customerNewPanel .customer-lifecycle-search { height:32px; width:100%; }
#customerNewPanel .customer-lifecycle-search input { height:30px; min-height:30px; }
#customerNewPanel .customer-lifecycle-toolbar .primary-button { height:32px; min-height:32px; padding:4px 10px; font-size:12px; }
#customerNewList { border-top:1px solid #dbe5ef; max-height:620px; }
#customerNewPanel .customer-weekly-table { width:100%; min-width:1000px; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:13px; line-height:1.5; }
#customerNewPanel .customer-weekly-table th { position:sticky; top:0; z-index:1; text-align:left; padding:9px 10px; background:#f1f5fa; color:#566d87; font-size:12px; font-weight:500; border-bottom:1px solid #dbe5ef; }
#customerNewPanel .customer-weekly-table td { padding:12px 10px; vertical-align:top; border-bottom:1px solid #e4ebf3; overflow-wrap:anywhere; color:#324a65; }
#customerNewPanel .customer-weekly-table tr:nth-child(even) td { background:#fafbfd; }
#customerNewPanel .customer-weekly-table tr:hover td { background:#f4f8fc; }
#customerNewPanel .customer-weekly-table th:nth-child(1) { width:19%; }
#customerNewPanel .customer-weekly-table th:nth-child(2) { width:10%; }
#customerNewPanel .customer-weekly-table th:nth-child(3) { width:20%; }
#customerNewPanel .customer-weekly-table th:nth-child(4) { width:16%; }
#customerNewPanel .customer-weekly-table th:nth-child(5) { width:13%; }
#customerNewPanel .customer-weekly-table th:nth-child(6) { width:11%; }
#customerNewPanel .customer-weekly-table th:nth-child(7) { width:125px; }
#customerNewPanel .customer-weekly-table strong { display:block; font-size:13px; font-weight:600; color:#263e59; }
#customerNewPanel .customer-weekly-table small { display:block; margin-top:4px; font-size:12px; line-height:1.5; color:#6d8097; }
#customerNewPanel .customer-weekly-table p { margin:4px 0 0; white-space:pre-wrap; }
#customerNewPanel .customer-weekly-flags { display:flex; gap:6px; flex-wrap:wrap; font-size:12px; }
#customerNewPanel .is-contact { color:#147f74; }
#customerNewPanel .is-progress { color:#236eb1; }
#customerNewPanel .customer-weekly-warning { color:#9a6414!important; }
#customerNewPanel .customer-weekly-status { display:inline-block; font-size:12px; padding:2px 6px; border-radius:3px; background:#f0f3f7; color:#64778b; }
#customerNewPanel .customer-weekly-status.is-checked { color:#137b65; background:#eaf7f1; }
#customerNewPanel .customer-weekly-status.is-pending { color:#99600c; background:#fff4dc; }
#customerNewPanel .customer-weekly-actions { display:flex; flex-wrap:wrap; gap:5px; }
#customerNewPanel .customer-weekly-link { display:inline-flex; align-items:flex-start; gap:5px; border:0; background:none; color:#226bb5; padding:0; text-align:left; cursor:pointer; font:inherit; }
#customerNewPanel .customer-weekly-link svg { width:15px; height:15px; flex:none; margin-top:3px; }
#customerWeeklyDialog { width:min(740px,calc(100vw - 48px)); }
#customerWeeklyDialog .customer-record-dialog-body, #customerCompetitionDialog .customer-record-dialog-body { background:#fff; }
#customerWeeklyDialog .customer-form-section { border:0; border-radius:0; padding:0 0 14px; border-bottom:1px solid #e3eaf2; }
#customerWeeklyDialog h2, #customerCompetitionDialog h2 { font-size:18px; overflow-wrap:anywhere; }
#customerWeeklyContext, #customerCompetitionContext { display:block; margin-top:5px; font-size:12px; color:#64778b; }
#customerWeeklyDialog .customer-form-grid label { font-weight:400; }
#customerWeeklyDialog .customer-weekly-check { display:flex; align-items:center; gap:8px; flex-direction:row; }
#customerWeeklyDialog .customer-weekly-check input { width:16px; height:16px; min-height:16px; padding:0; flex:none; }
#customerWeeklyDialog textarea { min-height:56px; }
#customerWeeklyContactFields { margin-top:10px; }
#customerCompetitionDialog { width:min(1120px,calc(100vw - 48px)); }
.customer-compare-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:10px; }
.customer-compare-actions label { display:flex; align-items:center; gap:8px; font-size:13px; white-space:nowrap; }
.customer-compare-actions select { min-height:32px; max-width:400px; border:1px solid #d7e2ee; border-radius:4px; color:#324a65; background:#fff; }
.customer-compare-scroll { overflow:auto; max-height:62vh; border:1px solid #e1e9f2; }
.customer-compare-table { width:100%; border-collapse:separate; border-spacing:0; font-size:13px; line-height:1.6; }
.customer-compare-table th, .customer-compare-table td { min-width:225px; max-width:380px; vertical-align:top; padding:9px 12px; border-bottom:1px solid #e1e9f2; border-right:1px solid #e1e9f2; text-align:left; white-space:pre-wrap; overflow-wrap:anywhere; }
.customer-compare-table thead th { position:sticky; top:0; z-index:2; background:#f1f5fa; }
.customer-compare-table th:first-child { min-width:145px; width:145px; position:sticky; left:0; background:#f7f9fc; font-weight:500; color:#657c96; z-index:1; }
.customer-compare-table thead th:first-child { z-index:3; }
.customer-compare-table th > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.customer-compare-table .icon-button { width:30px; height:30px; min-height:30px; padding:5px; flex:none; }
.customer-compare-table .icon-button svg { width:16px; height:16px; }

#customerOldPanel .customer-old-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-block:1px solid #e1e8f1; background:#f8fafc; }
#customerOldPanel .customer-old-metrics button { display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding:12px 16px; border:0; border-right:1px solid #e1e8f1; border-radius:0; background:none; font:inherit; color:#344f6d; cursor:pointer; }
#customerOldPanel .customer-old-metrics button:last-child { border-right:0; }
#customerOldPanel .customer-old-metrics button.is-active { background:#eaf3ff; box-shadow:inset 0 -2px #246dc2; }
#customerOldPanel .customer-old-metrics span { font-size:12px; color:#647b94; }
#customerOldPanel .customer-old-metrics strong { font-size:24px; line-height:28px; font-weight:600; }
#customerOldPanel .customer-old-metrics small { font-size:12px; font-weight:400; }
#customerOldPanel .customer-old-metrics button:nth-child(2) strong { color:#bd4d42; }
#customerOldPanel .customer-old-metrics button:nth-child(4) strong { color:#9e711d; }
#customerOldPanel .customer-old-metrics button:nth-child(5) strong { color:#188777; }
#customerOldPanel .customer-lifecycle-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) minmax(170px,.45fr) minmax(170px,.45fr) auto; gap:12px; align-items:center; }
#customerOldPanel .customer-lifecycle-toolbar label { display:flex; align-items:center; gap:8px; white-space:nowrap; min-width:0; font-size:12px; }
#customerOldPanel .customer-lifecycle-toolbar label span { flex:none; }
#customerOldPanel .customer-lifecycle-toolbar select { min-width:0; width:100%; }
#customerOldPanel .customer-lifecycle-search { width:100%; }
#customerOldPanel .customer-lifecycle-toolbar .primary-button { height:32px; min-height:32px; font-size:12px; padding:5px 10px; }
#customerOldPanel .customer-old-relations { display:flex; align-items:center; flex-wrap:wrap; gap:12px; min-height:44px; padding:6px 0 10px; font-size:12px; color:#6d8097; }
#customerOldPanel .customer-old-relations label { display:flex; align-items:center; gap:8px; white-space:nowrap; }
#customerOldPanel .customer-old-relations select { height:30px; border:1px solid #d7e2ee; border-radius:4px; background:#fff; color:#344f6d; padding:3px 8px; font:inherit; }
#customerOldPanel .ghost-button { min-height:30px; height:30px; padding:4px 8px; font-size:12px; border-radius:4px; }
#customerOldList { min-width:0; max-height:640px; overflow:auto; border-top:1px solid #dbe5ef; }
#customerOldPanel .customer-old-table { width:100%; min-width:940px; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:13px; line-height:1.5; }
#customerOldPanel .customer-old-table th { position:sticky; top:0; z-index:1; text-align:left; padding:9px 10px; color:#5a708a; background:#f1f5fa; font-size:12px; font-weight:500; border-bottom:1px solid #dbe5ef; }
#customerOldPanel .customer-old-table td { padding:10px; border-bottom:1px solid #e3eaf2; vertical-align:top; color:#344b66; overflow-wrap:anywhere; }
#customerOldPanel .customer-old-table tr:nth-child(even) td { background:#fafbfd; }
#customerOldPanel .customer-old-table tr:hover td { background:#f4f8fc; }
#customerOldPanel .customer-old-table td:last-child { position:sticky; right:0; z-index:1; background:#fff; border-left:1px solid #e3eaf2; }
#customerOldPanel .customer-old-table th:last-child { right:0; z-index:2; border-left:1px solid #e3eaf2; }
#customerOldPanel .customer-old-table th:nth-child(1) { width:20%; }
#customerOldPanel .customer-old-table th:nth-child(2) { width:12%; }
#customerOldPanel .customer-old-table th:nth-child(3) { width:12%; }
#customerOldPanel .customer-old-table th:nth-child(4) { width:16%; }
#customerOldPanel .customer-old-table th:nth-child(5) { width:13%; }
#customerOldPanel .customer-old-table th:nth-child(6) { width:16%; }
#customerOldPanel .customer-old-table th:nth-child(7) { width:11%; }
#customerOldPanel .customer-old-table strong { display:block; font-size:13px; font-weight:600; color:#263e59; }
#customerOldPanel .customer-old-table small { display:block; margin-top:4px; font-size:12px; color:#6b8098; }
#customerOldPanel .customer-old-table p { margin:4px 0 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
#customerOldPanel .customer-old-actions { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
#customerOldPanel .customer-text-link { display:block; text-align:left; padding:0; margin:0 0 5px; border:0; background:none; font:inherit; color:#246eb6; cursor:pointer; }
#customerOldPanel .customer-relation.is-stable { color:#16816c; }
#customerOldPanel .customer-relation.is-attention { color:#a36c1d; }
#customerOldPanel .customer-relation.is-lost { color:#aa534b; }
#customerOldPanel .customer-stage-tag.is-maintenance-inactive { background:#edf0f4; color:#6b7b8c; border-color:#dce2e9; }
#customerOldPanel .customer-old-urgent { display:block; color:#b64034; font-size:12px; margin-bottom:4px; }
#customerOldContextDialog { width:min(980px,calc(100vw - 48px)); }
#customerOldContextDialog h2, #customerMatterDialog h2 { font-size:18px; overflow-wrap:anywhere; }
#customerOldContextMeta { display:block; color:#657b94; font-size:12px; margin-top:5px; }
#customerOldContextDialog .customer-record-dialog-body, #customerMatterDialog .customer-record-dialog-body { background:#fff; }
#customerOldContextTabs { display:flex; align-items:center; gap:20px; border-bottom:1px solid #dfe7f1; }
#customerOldContextTabs button { font:inherit; padding:8px 0; border:0; border-bottom:2px solid transparent; border-radius:0; background:none; color:#637993; cursor:pointer; }
#customerOldContextTabs button.is-active { color:#1c69b6; border-bottom-color:#1c69b6; font-weight:600; }
#customerOldContextActions { display:flex; justify-content:flex-end; }
#customerOldContextActions:empty { display:none; }
#customerOldContextBody h3 { font-size:14px; margin:12px 0; }
#customerOldContextBody h3 small { font-size:12px; color:#6c8098; font-weight:400; margin-left:8px; }
#customerOldContextBody p { margin:6px 0; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.customer-matter-row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid #e2e9f2; font-size:13px; }
.customer-matter-row > div:first-child { min-width:0; }
.customer-matter-row strong { color:#2d4662; }
.customer-matter-row small { display:block; color:#6a8096; margin-top:5px; font-size:12px; }
.customer-matter-row em { font-size:12px; font-style:normal; color:#b33d32; }
.customer-matter-actions { display:flex; gap:6px; flex:none; }
.customer-service-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 15px; padding:10px 0; border-bottom:1px solid #e2e9f2; font-size:13px; }
.customer-service-row small, .customer-service-row p { grid-column:1/-1; font-size:12px; color:#6a8096; }
#customerMatterDialog { width:min(760px,calc(100vw - 48px)); }
#customerMatterDialog label, #customerMaintenanceDialog label { font-weight:400; }
#customerMaintenanceDialog .customer-maintenance-check { display:flex; flex-direction:row; align-items:center; gap:8px; }
#customerMaintenanceDialog .customer-maintenance-check input { width:16px; height:16px; min-height:16px; padding:0; }
#customerMaintenanceDialog.is-old-maintenance .customer-record-dialog-body { background:#fff; }
#customerMaintenanceDialog.is-old-maintenance .customer-form-section { border:0; border-radius:0; padding:0 0 12px; border-bottom:1px solid #e3eaf2; }
#customerMaintenanceDialog.is-old-maintenance .customer-maintenance-current { border:0; border-radius:0; padding:0; background:none; }
#customerMaintenanceDialog.is-old-maintenance .customer-follow-history-section { max-height:180px; overflow-y:auto; flex-shrink:0; padding:12px 16px; border-top:1px solid #e3eaf2; }
#customerMaintenanceDialog.is-old-maintenance .customer-crm-history article { padding:10px 0; }
#customerMaintenanceDialog.is-old-maintenance #customerMaintenanceContent { min-height:76px; height:76px; }
#customerMaintenanceOldFields { padding-bottom:12px; border-bottom:1px solid #e1e8f0; margin-bottom:12px; }
#customerMaintenanceOldFields textarea { min-height:56px; }

/* Customer map: stable canvas, compact selection list and in-place location review. */
#customerManagementMapPanel .customer-map-status-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:12px 0; border-bottom:1px solid #dce5ef; }
#customerManagementMapPanel .customer-map-status-strip button { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 14px; border:0; border-right:1px solid #e2e8f0; border-radius:0; background:#fff; color:#4e647b; font:inherit; cursor:pointer; text-align:left; }
#customerManagementMapPanel .customer-map-status-strip button:last-child { border-right:0; }
#customerManagementMapPanel .customer-map-status-strip strong { color:#244c72; font-size:24px; line-height:28px; }
#customerManagementMapPanel .customer-map-status-strip small { margin-left:5px; font-size:12px; font-weight:400; color:#64788d; }
#customerManagementMapPanel .customer-map-status-strip .is-confirmed strong { color:#128477; }
#customerManagementMapPanel .customer-map-status-strip .is-review strong, #customerManagementMapPanel .customer-map-status-strip .is-address strong { color:#a36610; }
#customerManagementMapPanel .customer-map-status-strip button[aria-pressed=true] { background:#edf5fe; box-shadow:inset 0 -2px #2674c8; }
#customerManagementMapPanel .customer-map-toolbar { gap:8px; padding:12px 0 8px; background:#fff; border:0; }
#customerManagementMapPanel .customer-map-toolbar > label:not(.customer-map-search) { display:flex; align-items:center; gap:7px; flex-shrink:0; white-space:nowrap; }
#customerManagementMapPanel .customer-map-toolbar select { width:134px; min-height:34px; height:34px; font-size:13px; }
#customerManagementMapPanel .customer-map-search { flex:0 1 340px; min-width:min(260px,100%); max-width:100%; width:340px; }
#customerManagementMapPanel .customer-map-search input { width:100%; height:34px; font-size:13px; }
#customerManagementMapPanel .customer-map-toolbar .segmented-control { flex-shrink:0; }
#customerManagementMapPanel .segmented-control button { font-size:13px; min-height:28px; padding:4px 9px; }
#customerManagementMapPanel .customer-map-readout { display:flex; justify-content:flex-start; align-items:center; flex-wrap:wrap; gap:8px 16px; padding:0 0 10px; color:#60758b; font-size:12px; }
#customerManagementMapPanel .customer-map-readout label { display:flex; align-items:center; gap:5px; white-space:nowrap; }
#customerManagementMapPanel input[type=checkbox] { width:15px; min-height:15px; height:15px; }
#customerManagementMapPanel .customer-map-layout { display:grid; grid-template-columns:minmax(0,1fr) 318px; min-height:0; height:clamp(360px,calc(100vh - 375px),760px); border:1px solid #dce5ef; }
#customerManagementMapPanel .customer-map-canvas-column { min-width:0; min-height:0; display:grid; grid-template-rows:minmax(0,1fr) 42px; }
#customerManagementMapPanel .customer-map-board { width:100%; height:100%; min-height:0; border:0; background:#e8edf0; }
#customerManagementMapPanel .customer-map-side { display:flex; flex-direction:column; min-height:0; max-height:none; border-left:1px solid #dce5ef; }
#customerManagementMapPanel .customer-map-results { min-height:0; flex:1; display:flex; flex-direction:column; }
#customerManagementMapPanel .customer-map-results h4 { margin:0; padding:9px 12px; font-size:13px; border-bottom:1px solid #e2e8f0; color:#435e78; background:#f5f8fb; }
#customerManagementMapPanel #customerMapList { flex:1; max-height:none; overscroll-behavior:contain; }
#customerManagementMapPanel .customer-map-list-item { display:block; width:100%; min-height:84px; padding:11px 12px; border:0; border-bottom:1px solid #e6edf3; border-radius:0; font:inherit; cursor:pointer; box-shadow:none; }
#customerManagementMapPanel .customer-map-list-item:hover { background:#f5f9fd; }
#customerManagementMapPanel .customer-map-list-item[aria-pressed=true] { background:#edf5fe; box-shadow:inset 3px 0 #2674c8; }
#customerManagementMapPanel .customer-map-list-title { display:flex; align-items:start; justify-content:space-between; gap:8px; margin-bottom:3px; }
#customerManagementMapPanel .customer-map-list-title strong { font-size:13px; color:#243d55; line-height:19px; overflow-wrap:anywhere; }
#customerManagementMapPanel .customer-map-list-item small { display:block; margin:2px 0; color:#61768a; }
#customerManagementMapPanel .customer-map-address { display:block; font-size:12px; line-height:18px; color:#6a7b8c; overflow-wrap:anywhere; }
#customerManagementMapPanel .customer-geo-status { display:inline-block; flex-shrink:0; font-size:11px; line-height:19px; padding:0 4px; border-radius:3px; color:#64758a; background:#f0f3f7; }
#customerManagementMapPanel .customer-geo-status.is-confirmed { color:#087468; background:#e8f5f1; }
#customerManagementMapPanel .customer-geo-status.is-review { color:#946008; background:#fff4df; }
#customerManagementMapPanel .customer-map-footer { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:4px 10px; border-top:1px solid #dce5ef; font-size:12px; color:#536a7e; }
#customerManagementMapPanel .customer-map-footer > span, #customerManagementMapPanel .customer-map-footer > div { display:flex; gap:6px; align-items:center; }
#customerManagementMapPanel .icon-button { display:inline-flex; align-items:center; justify-content:center; padding:6px; width:30px; height:30px; min-height:30px; border-radius:4px; box-shadow:none; }
#customerManagementMapPanel .icon-button svg { width:16px; height:16px; }
#customerManagementMapPanel .map-key { display:inline-block; width:9px; height:9px; border-radius:50%; background:#128477; margin-left:6px; }
#customerManagementMapPanel .map-key.is-new { background:#2674c8; }
#customerManagementMapPanel .map-key.is-review { background:transparent; border:2px solid #c28b2c; }
#customerManagementMapPanel .map-pin { position:absolute; display:block; width:16px; height:16px; left:4px; top:4px; border:2px solid #fff; border-radius:50%; background:#128477; box-shadow:0 1px 4px #33415570; }
#customerManagementMapPanel .map-pin.is-new { background:#2674c8; }
#customerManagementMapPanel .map-pin.is-review { background:#fff9eb; border:2px dashed #a76b12; }
#customerManagementMapPanel .map-pin.is-selected { outline:3px solid #243e5b; outline-offset:2px; }
#customerManagementMapPanel .map-pin.is-draft { background:#bd6721; width:20px; height:20px; }
#customerManagementMapPanel .customer-map-marker:focus-visible { outline:3px solid #1c4264; outline-offset:3px; border-radius:50%; }
#customerManagementMapPanel .customer-map-popup { display:grid; gap:5px; max-width:250px; color:#2a425b; font-size:13px; }
#customerManagementMapPanel .customer-map-popup p { margin:0; }
#customerManagementMapPanel .customer-map-popup span { color:#967027; font-size:12px; }
#customerManagementMapPanel #customerMapDetail:empty { display:none; }
#customerManagementMapPanel #customerMapDetail { padding:10px 12px 12px; border-bottom:1px solid #dce5ef; max-height:48%; overflow:auto; }
#customerManagementMapPanel #customerMapDetail header, #customerManagementMapPanel #customerMapEditor header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
#customerManagementMapPanel #customerMapDetail h4, #customerManagementMapPanel #customerMapEditor h4 { font-size:14px; margin:0; }
#customerManagementMapPanel #customerMapDetail > strong, #customerManagementMapPanel #customerMapEditor form > strong { display:block; font-size:15px; line-height:22px; margin-bottom:6px; overflow-wrap:anywhere; }
#customerManagementMapPanel #customerMapDetail p { font-size:13px; line-height:20px; margin:8px 0; overflow-wrap:anywhere; }
#customerManagementMapPanel .customer-location-warning { color:#946008; }
#customerManagementMapPanel .customer-map-detail-actions { display:flex; gap:6px; align-items:center; flex-wrap:wrap; margin-top:10px; }
#customerManagementMapPanel .customer-map-detail-actions button { font-size:12px; min-height:32px; padding:6px 9px; }
#customerManagementMapPanel .customer-map-detail-actions a { display:flex; align-items:center; padding:7px; color:#2674c8; }
#customerManagementMapPanel #customerMapEditor { padding:10px 12px; min-height:0; overflow:auto; flex:1; }
#customerManagementMapPanel #customerMapEditor label { display:flex; flex-direction:column; gap:5px; margin:12px 0 0; color:#486179; font-size:12px; }
#customerManagementMapPanel #customerMapEditor input, #customerManagementMapPanel #customerMapEditor select, #customerManagementMapPanel #customerMapEditor textarea { width:100%; min-width:0; min-height:34px; border:1px solid #cfdae6; padding:7px 8px; background:#fff; color:#243d55; border-radius:4px; font:inherit; font-size:13px; box-sizing:border-box; }
#customerManagementMapPanel #customerMapEditor textarea { resize:vertical; line-height:20px; }
#customerManagementMapPanel .customer-location-coordinates { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
#customerManagementMapPanel #customerLocationPreview { margin-top:10px; font-size:12px; min-height:32px; }
#customerManagementMapPanel .customer-map-search-link { display:flex; align-items:center; gap:4px; margin-top:7px; font-size:12px; color:#216ec3; }
#customerManagementMapPanel .customer-map-search-link svg { width:13px; height:13px; }
#customerManagementMapPanel #customerLocationPreviewStatus { font-size:12px; color:#64758a; line-height:18px; overflow-wrap:anywhere; }
#customerManagementMapPanel .customer-location-error { color:#be3434; font-size:12px; }
#customerManagementMapPanel #customerMapEditor footer { display:flex; justify-content:flex-end; gap:7px; border-top:1px solid #e1e8ef; padding-top:12px; margin-top:12px; }
#customerManagementMapPanel #customerMapEditor footer button { font-size:12px; min-height:34px; padding:7px 10px; }
#customerManagementMapPanel.is-locating .customer-map-results { display:none; }
#customerManagementMapPanel .customer-map-nearby { padding:12px 0; color:#405972; border-bottom:1px solid #e1e8ef; }
#customerManagementMapPanel .customer-map-nearby summary { cursor:pointer; font-size:13px; font-weight:600; }
#customerManagementMapPanel #nearbyCustomerList { display:flex; flex-wrap:wrap; gap:10px; padding-top:10px; }
#customerManagementMapPanel .customer-nearby-item { width:250px; font-size:13px; }
#customerManagementMapPanel .customer-nearby-empty { min-height:0; padding:8px 0; }
#customerManagementMapPanel .customer-map-no-results { min-width:0; width:240px; max-width:80%; pointer-events:none; }
#customerManagementMapPanel button:focus-visible, #customerManagementMapPanel a:focus-visible { outline:2px solid #2674c8; outline-offset:-2px; }
@media (max-width:1150px) {
  #customerManagementMapPanel .customer-map-toolbar .customer-map-search { flex-basis:260px; }
  #customerManagementMapPanel .customer-map-status-strip button { padding:9px 8px; flex-wrap:wrap; }
  #customerManagementMapPanel .customer-map-status-strip span { font-size:12px; }
  #customerManagementMapPanel .customer-map-layout { grid-template-columns:minmax(0,1fr) 285px; }
}
@media (max-width:740px) {
  #customerManagementMapPanel .customer-map-layout { grid-template-columns:1fr; height:auto; }
  #customerManagementMapPanel .customer-map-canvas-column { height:390px; }
  #customerManagementMapPanel .customer-map-side { border-left:0; max-height:520px; }
  #customerManagementMapPanel #customerMapEditor { max-height:520px; }
  #customerManagementMapPanel .customer-map-status-strip { grid-template-columns:repeat(3,1fr); }
}

/* Keep customer fields independent of the expanded owner picker height. */
#customerProfileDialog { width:min(1000px,calc(100vw - 48px)); max-height:calc(100vh - 48px); }
#customerProfileDialog .customer-record-dialog-card { display:flex; flex-direction:column; max-height:calc(100vh - 48px); overflow:hidden; font-size:14px; }
#customerProfileDialog header, #customerProfileDialog footer { flex-shrink:0; padding:12px 20px; background:#fff; }
#customerProfileDialog header h2 { font-size:20px; line-height:28px; }
#customerProfileDialog header .icon-button { width:34px; height:34px; min-height:34px; padding:6px; box-shadow:none; }
#customerProfileDialog .customer-record-dialog-body { display:block; min-height:0; padding:16px 20px; background:#fff; }
#customerProfileDialog .customer-form-section { padding:0 0 16px; margin:0 0 14px; border:0; border-bottom:1px solid #e2e9f0; border-radius:0; }
#customerProfileDialog .customer-form-section h3 { margin:0 0 12px; font-size:14px; line-height:20px; }
#customerProfileDialog .customer-form-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px 16px; align-items:start; }
#customerProfileDialog .customer-form-grid > label, #customerProfileDialog .customer-profile-owner-field { display:grid; gap:5px; align-content:start; min-width:0; color:#536880; font-size:13px; font-weight:500; }
#customerProfileDialog .customer-field-half { grid-column:span 2; }
#customerProfileDialog .customer-form-grid input:not([type="checkbox"]), #customerProfileDialog .customer-form-grid select, #customerProfileDialog .customer-profile-owner-toggle { height:38px; min-height:38px; padding:7px 10px; font-size:14px; font-weight:400; line-height:22px; }
#customerProfileDialog .customer-form-grid textarea { min-height:66px; padding:8px 10px; font-size:14px; font-weight:400; line-height:22px; }
#customerProfileDialog input::placeholder, #customerProfileDialog textarea::placeholder { color:#8392a3; font-weight:400; }
#customerProfileDialog .customer-required { color:#ce4949; font-weight:500; }
#customerProfileDialog .customer-profile-owner-field { position:relative; }
#customerProfileDialog .customer-profile-owner-toggle { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; border:1px solid #c8d7e8; border-radius:4px; background:#fff; color:#172a43; text-align:left; cursor:pointer; }
#customerProfileDialog .customer-profile-owner-toggle span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#customerProfileDialog .customer-profile-owner-toggle svg { width:16px; height:16px; flex-shrink:0; color:#62768a; }
#customerProfileDialog .customer-profile-owner-toggle[aria-expanded="true"] { border-color:#1769dd; }
#customerProfileDialog .customer-profile-owner-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
#customerProfileDialog .customer-profile-owner-panel { position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:5; padding:10px; border:1px solid #c8d7e8; border-radius:4px; background:#fff; box-shadow:0 8px 24px rgb(20 44 70 / 14%); }
#customerProfileDialog #customerProfileOwner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 6px; max-height:176px; overflow:auto; margin:8px 0; padding:0; border:0; }
#customerProfileDialog #customerProfileOwner label { display:flex; align-items:center; justify-content:flex-start; gap:7px; min-height:32px; padding:4px 6px; white-space:normal; overflow-wrap:anywhere; font-size:13px; font-weight:400; cursor:pointer; border-radius:3px; }
#customerProfileDialog #customerProfileOwner label:hover { background:#f3f7fc; }
#customerProfileDialog #customerProfileOwner label:has(input:checked) { background:#edf5ff; color:#1769dd; }
#customerProfileDialog #customerProfileOwner input[type="checkbox"] { flex:0 0 16px; width:16px; height:16px; min-height:16px; margin:0; padding:0; accent-color:#1769dd; }
#customerProfileDialog .customer-profile-owner-footer { display:flex; align-items:center; justify-content:space-between; padding-top:8px; border-top:1px solid #e2e9f0; color:#62768a; font-size:12px; }
#customerProfileDialog .customer-profile-owner-footer button { padding:4px 6px; border:0; border-radius:3px; background:transparent; color:#1769dd; font-size:13px; cursor:pointer; }
#customerProfileDialog #customerProfileOwnerEmpty { margin:12px 0; font-size:13px; }
#customerProfileDialog .customer-profile-location { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#536880; font-size:12px; }
#customerProfileDialog .customer-profile-location svg { width:16px; height:16px; }
#customerProfileDialog .customer-profile-location .customer-form-hint { margin:0; color:#62768a; }
#customerProfileDialog footer { gap:10px; }
#customerProfileDialog footer > button { min-height:36px; padding:7px 12px; font-size:14px; line-height:20px; white-space:nowrap; box-shadow:none; }
#customerProfileDialog footer .customer-form-error { flex:1; margin:0 auto 0 0; padding:6px 10px; font-size:12px; }
#customerProfileDialog :is(input,select,textarea):focus-visible { outline:2px solid #1769dd; outline-offset:1px; }
@media (max-width:760px) {
  #customerProfileDialog { width:calc(100vw - 24px); max-height:calc(100vh - 24px); }
  #customerProfileDialog .customer-record-dialog-card { max-height:calc(100vh - 24px); }
  #customerProfileDialog .customer-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #customerProfileDialog footer { flex-wrap:wrap; }
  #customerProfileDialog footer .customer-form-error { flex-basis:100%; }
}
