#overview-crm-board { --crm-visual-ink:#443651; --crm-visual-muted:#7b7284; --crm-visual-track:#eeeaf2; }
#overview-crm-board .overview-crm-grid { grid-template-columns:repeat(5,minmax(0,1fr)); align-items:stretch; }
#overview-crm-board .crm-demographics { grid-column:span 3; grid-template-columns:repeat(3,minmax(0,1fr)); }
.crm-sales-primary-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:12px; align-items:stretch; }
.crm-sales-secondary-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; align-items:stretch; margin-top:12px; }
#overview-crm-board .crm-sales-trend { border:1px solid #a8d6d0; box-shadow:inset 0 0 0 1px #d8eeeb,0 8px 22px #24594e0d; }
#overview-crm-board .crm-sales-appointments { border:1px solid #cbbbe2; }
#overview-crm-board .overview-crm-grid>.overview-crm-panel, #overview-crm-board .crm-demographic-card { padding:9px; }
#overview-crm-board .overview-crm-grid>.overview-crm-panel h4, #overview-crm-board .crm-demographic-card h4 { margin:0 0 6px; font-size:10px; }
#overview-crm-board .overview-crm-grid .crm-distribution-svg { width:min(100%,105px); }
#overview-crm-board .overview-crm-grid .crm-distribution { gap:5px; }
#overview-crm-board .overview-crm-grid .crm-distribution-legend { max-height:112px; gap:2px; }
#overview-crm-board .overview-crm-grid .crm-distribution-legend button { grid-template-columns:6px minmax(0,1fr) auto 24px; gap:4px; min-height:25px; padding:3px 1px; font-size:9px; }
#overview-crm-board .overview-crm-grid .crm-distribution-legend button>small { font-size:8px; }
#overview-crm-board .overview-crm-grid .crm-rfm-status { max-height:190px; overflow-y:auto; padding-inline-end:3px; gap:5px; scrollbar-width:thin; }
#overview-crm-board .overview-crm-grid .crm-rfm-status-row { grid-template-columns:minmax(0,1fr) auto; gap:3px 5px; font-size:9px; }
#overview-crm-board .overview-crm-grid .crm-rfm-status-row .crm-rfm-status-track { grid-column:1; }
#overview-crm-board .overview-crm-grid .crm-rfm-status-row>small { grid-column:2; font-size:8px; }
.crm-distribution { display:grid; justify-items:center; gap:8px; min-width:0; }
.crm-distribution-svg { display:block; width:min(100%,180px); height:auto; overflow:visible; }
.crm-distribution-svg circle[role=button] { cursor:pointer; transition:stroke-width .15s; }
.crm-distribution-svg circle[role=button]:hover,.crm-distribution-svg circle[role=button]:focus-visible { stroke-width:22; outline:none; }
.crm-donut-total { fill:var(--crm-visual-ink); font:700 24px Tahoma,sans-serif; }
.crm-donut-caption { fill:var(--crm-visual-muted); font:9px Tahoma,sans-serif; }
.crm-distribution-legend { display:grid; gap:3px; width:100%; max-height:170px; overflow:auto; scrollbar-width:thin; }
#overview-crm-board .crm-distribution-legend button { display:grid; grid-template-columns:8px minmax(0,1fr) auto 31px; align-items:center; gap:7px; width:100%; min-height:30px; padding:5px 3px; border:0; border-radius:6px; background:transparent; color:var(--crm-visual-ink); font:inherit; font-size:10px; text-align:right; cursor:pointer; }
.crm-distribution-legend button > i { width:7px; height:7px; border-radius:50%; }
.crm-distribution-legend button > span { overflow-wrap:anywhere; }
.crm-distribution-legend button > small { font-size:9px; color:var(--crm-visual-muted); text-align:left; }
.crm-distribution-legend button:hover { box-shadow:inset 0 0 0 1px #9a82af60; }
#overview-crm-board #overview-crm-sources, #overview-crm-board #overview-crm-channels { display:block; }
#overview-crm-sources .crm-distribution, #overview-crm-channels .crm-distribution { grid-template-columns:minmax(0,1fr); align-items:center; }
.crm-appointment-tabs { display:flex; gap:6px; margin:12px 0; padding:4px; border:1px solid #e5ddeb; border-radius:10px; background:#f7f4fa; }
#overview-crm-board .crm-appointment-tabs button { display:flex; justify-content:center; align-items:center; gap:8px; flex:1; min-width:0; padding:8px 5px; border:1px solid transparent; border-radius:7px; background:transparent; color:#72637f; font:inherit; font-size:11px; cursor:pointer; }
#overview-crm-board .crm-appointment-tabs button[aria-pressed=true] { background:#fff; border-color:#ddd0e8; color:#644282; box-shadow:0 2px 5px #3320440b; }
.crm-appointment-tabs b { font-size:10px; }
.crm-appointment-agenda { display:grid; align-content:start; gap:6px; max-height:290px; overflow:auto; scrollbar-width:thin; }
.crm-agenda-empty { display:grid; place-items:center; min-height:100px; margin:0; color:var(--crm-visual-muted); font-size:11px; }
.crm-month-comparison { display:flex; align-items:stretch; justify-content:center; gap:clamp(12px,4vw,44px); padding:12px 8px 0; direction:ltr; }
#overview-crm-board .crm-month-column { display:grid; grid-template-rows:22px 118px auto 18px; justify-items:center; gap:5px; min-width:0; width:110px; border:0; background:transparent; color:var(--crm-visual-ink); font:inherit; font-size:11px; cursor:pointer; }
.crm-month-column strong { font-size:18px; }
.crm-month-column > small { color:var(--crm-visual-muted); font-size:9px; }
.crm-month-bar-track { display:flex; align-items:flex-end; width:54px; height:118px; border-radius:8px 8px 0 0; background:var(--crm-visual-track); overflow:hidden; }
.crm-month-bar-track i { display:block; width:100%; border-radius:8px 8px 0 0; background:var(--bar-color); }
#overview-crm-board .crm-visual-note { color:var(--crm-visual-muted); font-size:10px; font-weight:400; line-height:1.8; margin:10px 0 0; }
body.dashboard-overview-background #overview-crm-board { --crm-visual-ink:#ecedf2; --crm-visual-muted:#b8b7c7; --crm-visual-track:#46505f; }
body.dashboard-overview-background #overview-crm-board .crm-appointment-tabs { background:#272333; border-color:#51485f; }
body.dashboard-overview-background #overview-crm-board .crm-appointment-tabs button { color:#d7cde1; }
body.dashboard-overview-background #overview-crm-board .crm-appointment-tabs button[aria-pressed=true] { background:#554365; color:#fff; border-color:#806994; }
/* Livelier sales dashboard: vivid, distinct accents over calm dark surfaces. */
body.dashboard-overview-background #overview-crm-board .overview-crm-panel{position:relative;overflow:hidden;border-color:#46556a;background:linear-gradient(145deg,#293548 0%,#2d3043 58%,#303446 100%);box-shadow:0 12px 28px #11182755}
body.dashboard-overview-background #overview-crm-board .overview-crm-panel::before{position:absolute;inset:0 0 auto;height:3px;background:var(--crm-panel-accent,#36c7b5);content:""}
body.dashboard-overview-background #overview-crm-board .crm-sales-primary-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
body.dashboard-overview-background #overview-crm-board .crm-sales-trend{--crm-panel-accent:#42cbb8;border-color:#43827c;box-shadow:inset 0 0 0 1px #42cbb82b,0 12px 28px #11182755}
body.dashboard-overview-background #overview-crm-board .crm-sales-appointments{--crm-panel-accent:#b48bea;border-color:#70588c}
body.dashboard-overview-background #overview-crm-board .overview-crm-grid>:nth-child(1){--crm-panel-accent:#b48bea}
body.dashboard-overview-background #overview-crm-board .overview-crm-grid>:nth-child(3){--crm-panel-accent:#ffc66b}
body.dashboard-overview-background #overview-crm-board .crm-sales-secondary-grid>:nth-child(2){--crm-panel-accent:#f08291}
body.dashboard-overview-background #overview-crm-board .overview-crm-panel h4{color:#f2eafa}
body.dashboard-overview-background #overview-crm-board .crm-sales-svg text{fill:#c7d0dd}
body.dashboard-overview-background #overview-crm-board .crm-month-bar-track{background:#48536a}
body.dashboard-overview-background #overview-crm-board .crm-month-column:focus-visible{outline:2px solid #f2b955;outline-offset:3px;border-radius:9px}
body.dashboard-overview-background #overview-crm-board .crm-appointment-tabs button[aria-pressed=true]{background:#493b62;border-color:#9f7acb;box-shadow:0 3px 12px #15101f55}
body.dashboard-overview-background #overview-crm-board .crm-appointment-tabs button:hover{color:#fff;border-color:#67cfc0}
body.dashboard-overview-background #overview-crm-board .crm-funnel-track[data-stage=prospecting] i{background:#b48bea!important}
body.dashboard-overview-background #overview-crm-board .crm-funnel-track[data-stage=qualified] i{background:#63b8ed!important}
body.dashboard-overview-background #overview-crm-board .crm-funnel-track[data-stage=meeting] i{background:#42cbb8!important}
body.dashboard-overview-background #overview-crm-board .crm-funnel-track[data-stage=proposal] i{background:#ffc66b!important}
body.dashboard-overview-background #overview-crm-board .crm-funnel-track[data-stage=negotiation] i{background:#f08291!important}
body.dashboard-overview-background #overview-crm-board .crm-funnel-track[data-stage=won] i{background:#8bc76d!important}
body.dashboard-overview-background #overview-crm-board .crm-funnel-track[data-stage=lost] i{background:#e87979!important}
body.dashboard-overview-background #overview-crm-board .crm-board-row{border-color:#485669;border-inline-start-color:#42cbb8;background:linear-gradient(110deg,#30394b,#29394a)}
body.dashboard-overview-background #overview-crm-board .crm-board-row[data-priority=overdue]{border-inline-start-color:#f08291;background:linear-gradient(110deg,#422f3d,#332e40)}
body.dashboard-overview-background #overview-crm-board .crm-board-row button{border-color:#5b6e82;background:#37475a;color:#eff5fc}
body.dashboard-overview-background #overview-crm-board .crm-board-row button:hover{border-color:#f2b955;background:#48546a}
body.dashboard-overview-background #overview-crm-board .crm-distribution-legend button:hover{background:#ffffff0d;box-shadow:inset 0 0 0 1px #a979e866}
@media(max-width:1050px) {
  #overview-crm-board .crm-sales-secondary-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:760px) {
  #overview-crm-board .crm-sales-primary-grid,#overview-crm-board .overview-crm-grid,#overview-crm-board .crm-sales-secondary-grid { grid-template-columns:minmax(0,1fr); }
  #overview-crm-board .crm-demographics { grid-column:auto; }
  #overview-crm-board .crm-sales-secondary-grid>:last-child { grid-column:auto; }
  #overview-crm-board .overview-crm-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:540px) { #overview-crm-board .crm-demographics { grid-template-columns:minmax(0,1fr); } }
@media(max-width:400px) { #overview-crm-sources .crm-distribution,#overview-crm-channels .crm-distribution { grid-template-columns:minmax(0,1fr); } }

/* Entry pages keep their saved records directly below the compact create action. */
#page-content.crm-standalone-workspace > .crm-appointment-entry.crm-view-active { justify-content:flex-start; min-height:0; }
.crm-entry-create { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:35px; padding:7px 11px; border:1px solid #d3bcdf; border-radius:9px; background:#6e428b; color:#fff; font:inherit; font-size:11px; cursor:pointer; }
.crm-entry-create > span { font-size:19px; line-height:1; }
.crm-entry-records { width:100%; min-width:0; }
.crm-entry-register-toolbar { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:10px; margin:10px 0 14px; }
.crm-entry-register-toolbar label { display:grid; gap:6px; width:min(100%,340px); color:#756b7d; font-size:10px; font-weight:400; }
.crm-entry-register-toolbar input { box-sizing:border-box; width:100%; min-height:38px; padding:8px 11px; border:1px solid #ded6e6; border-radius:9px; background:#fff; color:#332b3e; font:inherit; font-size:11px; }
.crm-entry-register-toolbar [data-entry-count] { color:#7b6a87; font-size:11px; }
.crm-entry-table-wrap { max-width:100%; overflow-x:auto; border:1px solid #e9e2ef; border-radius:11px; }
.crm-entry-table { width:100%; border-collapse:collapse; color:#43364e; font-size:11px; text-align:right; }
.crm-entry-table th { padding:11px; background:#f5f0f9; color:#6c527e; font-weight:600; white-space:nowrap; }
.crm-entry-table td { padding:12px 11px; border-top:1px solid #eee8f2; background:#fff; }
.crm-entry-table tr:nth-child(even) td { background:#fcfafc; }
.crm-entry-table strong { display:block; font-size:11px; font-weight:600; }
.crm-entry-phone { display:inline-block; margin-top:3px; color:#7c7185; font-size:10px; }
.crm-entry-date { white-space:nowrap; color:#7b7083; font-size:10px; }
.crm-entry-table button,.crm-entry-pagination button,.crm-entry-empty button { min-height:30px; padding:5px 10px; border:1px solid #e0d4e9; border-radius:7px; background:#f7f2fa; color:#70488c; font:inherit; font-size:10px; cursor:pointer; white-space:nowrap; }
.crm-entry-status { display:inline-block; padding:4px 7px; border-radius:6px; background:#edf4f1; color:#527d6d; font-size:10px; white-space:nowrap; }
.crm-entry-status[data-status=cancelled] { background:#f8eded; color:#a26969; }
.crm-entry-status[data-status=completed] { background:#f0ebf7; color:#79608f; }
.crm-entry-empty { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; min-height:80px; margin:0; padding:12px; color:#8b8093; font-size:11px; line-height:1.9; }
.crm-entry-pagination { display:flex; justify-content:center; align-items:center; gap:12px; margin-top:12px; color:#8b7a95; font-size:10px; }
.crm-entry-pagination button:disabled { opacity:.4; cursor:default; }
.crm-entry-records :is(input,button):focus-visible,.crm-entry-create:focus-visible { outline:2px solid #9d7ab9; outline-offset:2px; }
.crm-level-diagnostics { margin:8px 0; border:1px solid #e7deed; border-radius:9px; background:#fcf9fd; color:#75627f; font-size:10px; }
.crm-level-diagnostics > summary { padding:8px 11px; cursor:pointer; font-weight:500; }
.crm-level-diagnostics > div { display:grid; gap:8px; padding:0 12px 10px; }
.crm-level-diagnostics section { padding-top:7px; border-top:1px solid #eee7f2; }
.crm-level-diagnostics strong { font-weight:600; }
.crm-level-diagnostics ul { margin:5px 0 0; padding-inline-start:17px; line-height:1.9; }
.crm-level-diagnostics summary:focus-visible { outline:2px solid #9d7ab9; outline-offset:2px; border-radius:8px; }

.crm-compact-customers{display:grid;gap:8px}.crm-compact-customer{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(120px,1fr) minmax(150px,1.3fr) minmax(120px,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e3e1e8;border-inline-start:3px solid var(--identity-color);border-radius:12px;background:#fff}.crm-compact-customer.is-critical{background:#fff1f2;border-color:#eab3bb}.crm-compact-customer.is-attention{background:#fff9e6;border-color:#e6d38c}.crm-compact-customer>div{display:grid;gap:4px;min-width:0}.crm-compact-customer small{font-size:10px;color:#677080}.crm-compact-customer strong{font-size:12px;color:#243044}.crm-compact-identity span{font-size:11px;text-align:right;color:#5b6270}.crm-compact-customer .crm-compact-groups{display:flex;gap:5px;flex-wrap:wrap}.crm-identity-chip{font-size:10px!important;padding:4px 8px;border-radius:6px;color:var(--identity-color)!important;background:color-mix(in srgb,var(--identity-color) 10%,white);border:1px solid color-mix(in srgb,var(--identity-color) 22%,white);display:inline-flex;white-space:nowrap}.crm-compact-open{font-size:11px!important;padding:5px 9px!important;border-radius:7px!important;min-height:30px!important;background:#f4f0f9!important;color:#64308e!important}.crm-rfm-status{display:grid;gap:7px}.crm-rfm-status-row{display:grid;grid-template-columns:145px 35px 1fr 36px;gap:10px;align-items:center;font-size:12px}.crm-rfm-status-track{height:5px;background:#e7e8eb;border-radius:4px;overflow:hidden}.crm-rfm-status-track i{display:block;height:100%;background:var(--identity-color)}@media(max-width:850px){.crm-compact-customer{grid-template-columns:1fr 1fr}.crm-compact-open{justify-self:start}.crm-rfm-status-row{grid-template-columns:130px 25px 1fr 30px;gap:5px}}

.overview-crm-metrics:has(>.overview-crm-metric:only-child){grid-template-columns:minmax(0,270px);justify-content:start}

/* Four compact charts alongside one full-height customer group panel. */
#overview-crm-board .overview-crm-grid {
  grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.25fr);
  grid-template-rows:repeat(2,auto);
  gap:10px;
}
#overview-crm-board #overview-crm-demographics { display:contents; }
#overview-crm-board .crm-sales-groups { grid-column:3; grid-row:1 / span 2; }
#overview-crm-board .crm-sales-sources { grid-column:1; grid-row:1; }
#overview-crm-board [data-demographic="gender"] { grid-column:2; grid-row:1; }
#overview-crm-board [data-demographic="occupation"] { grid-column:1; grid-row:2; }
#overview-crm-board [data-demographic="age_range"] { grid-column:2; grid-row:2; }
#overview-crm-board .overview-crm-grid .crm-rfm-status { max-height:460px; gap:10px; }
#overview-crm-board .overview-crm-grid .crm-rfm-status-row { font-size:11px; gap:6px 8px; }
@media(max-width:760px) {
  #overview-crm-board .overview-crm-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #overview-crm-board .crm-sales-groups { grid-column:1 / -1; grid-row:3; }
  #overview-crm-board .overview-crm-grid .crm-rfm-status { max-height:320px; }
}
@media(max-width:540px) {
  #overview-crm-board .overview-crm-grid { grid-template-columns:minmax(0,1fr); }
  #overview-crm-board .overview-crm-grid > .overview-crm-panel,
  #overview-crm-board #overview-crm-demographics > .crm-demographic-card { grid-column:1; grid-row:auto; }
}
