/* ALX CRM v4.3.25 — Dashboard final layout polish. Scoped to Dashboard.
   Does not alter authorization, sources, call handling, inputs, or other views. */
body.alx-crm-page.alx-dark #viewDashboard.dashboard-studio{--nf-line:rgba(107,141,229,.34);--nf-text:#e9f0ff}
/* Avoid the empty 3-column row floating over a large blank spacer. */
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row.dashboard-grid{align-items:start!important;gap:13px!important;margin-bottom:13px!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row>.dashboard-card{height:auto!important;min-height:0!important;max-height:320px!important;align-self:start!important;background:linear-gradient(158deg,#101d40,#09172d)!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .dashboard-card-head{min-height:74px!important;padding:13px 16px!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .dashboard-card-body{max-height:254px!important;min-height:0!important;overflow:auto!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row #dashboardAppointments.nova25-is-empty,
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row #dashboardFollowups.nova25-is-empty{max-height:none!important;overflow:hidden!important}
body.alx-crm-page.alx-dark #viewDashboard .nova25-empty{display:grid!important;grid-template-columns:40px minmax(0,1fr);align-items:center;column-gap:12px;row-gap:3px;padding:15px 16px!important;background:radial-gradient(circle at 0% 0%,rgba(44,114,241,.16),transparent 65%);min-height:112px}
body.alx-crm-page.alx-dark #viewDashboard .nova25-empty-icon{grid-row:span 3;align-self:center;display:grid;place-items:center;font-size:22px;width:40px;height:40px;border:1px solid rgba(102,161,255,.35);border-radius:12px;background:linear-gradient(140deg,rgba(23,112,218,.3),rgba(79,71,196,.20));color:#8ac8ff}
body.alx-crm-page.alx-dark #viewDashboard .nova25-empty strong{font-size:12px;font-weight:780;color:#edf4ff!important;line-height:1.3}
body.alx-crm-page.alx-dark #viewDashboard .nova25-empty p{font-size:10.5px;line-height:1.4;color:#a0b2d7!important;margin:0!important}
body.alx-crm-page.alx-dark #viewDashboard .nova25-empty-action{width:max-content;padding:4px 0!important;background:none!important;border:0!important;box-shadow:none!important;color:#77b9ff!important;font-weight:750!important;font-size:10.5px!important;cursor:pointer;letter-spacing:0!important}
body.alx-crm-page.alx-dark #viewDashboard .nova25-empty-action:hover{text-decoration:underline}
body.alx-crm-page.alx-dark #viewDashboard .nova25-empty-action:focus-visible{outline:2px solid #68c7ff!important;outline-offset:4px}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .dash-recent .dash-row{min-height:57px!important;padding:7px 13px!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .dash-row{transition:background-color .14s,box-shadow .14s}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .dash-row:hover{background:rgba(40,87,152,.19)!important;box-shadow:inset 3px 0 #5899ff}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .dash-follow .dash-row.is-overdue{box-shadow:inset 3px 0 #ff5e8f;background:linear-gradient(90deg,rgba(230,53,98,.08),transparent 50%)!important}
/* Sales distribution — circular initials, existing real lead bars remain authoritative. */
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row{align-items:start!important;gap:13px!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row>.dashboard-card,
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row>.studio-source-panel{height:auto!important;min-height:0!important;max-height:none!important;align-self:start!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .dashboard-card-head,
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .dash-analytics-head{min-height:74px!important;padding:13px 16px!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .dashboard-card-body{max-height:320px!important;overflow:auto!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .dash-table th{background:rgba(38,63,111,.36)!important;padding:10px 8px!important;font-size:9.5px!important;white-space:nowrap;color:#93b4ef!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .dash-table td{padding:11px 8px!important;font-size:11px!important;vertical-align:middle}
body.alx-crm-page.alx-dark #viewDashboard .dash-agent-cell{display:grid!important;grid-template-columns:31px minmax(0,1fr)!important;column-gap:10px!important;align-items:center!important;max-width:none!important;text-align:left}
body.alx-crm-page.alx-dark #viewDashboard .nova25-avatar{grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:11px!important;font-weight:780;background:linear-gradient(145deg,#256fe9,#805aec);box-shadow:0 2px 12px rgba(83,93,255,.3);color:white}
body.alx-crm-page.alx-dark #viewDashboard .dash-agent-cell strong{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px!important}
body.alx-crm-page.alx-dark #viewDashboard .dash-agent-meter{grid-column:2;width:100%!important;height:5px!important;background:rgba(37,76,130,.62)!important;border-radius:12px!important;overflow:hidden!important}
body.alx-crm-page.alx-dark #viewDashboard .dash-agent-meter i{background:linear-gradient(90deg,#357ffb,#8366f9)!important;border-radius:12px!important;box-shadow:0 0 8px rgba(81,120,248,.3)}
body.alx-crm-page.alx-dark #viewDashboard .dash-table-note{padding:10px 14px!important;line-height:1.45;font-size:10px!important;color:#8da7d2!important}
/* Single source is truthful; don't fake multichannel distribution. The card contracts to content. */
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .studio-source-panel{overflow:hidden!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .studio-source-body{grid-template-columns:125px minmax(0,1fr)!important;align-items:center!important;gap:14px!important;padding:15px 17px!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .studio-source-ring{width:108px!important;height:108px!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .studio-source-ring:before{inset:23px!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .studio-source-legend{max-height:170px;overflow-y:auto}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .studio-source-legend>div{padding:8px 0!important;gap:9px!important;border-bottom:1px solid rgba(89,121,182,.15)!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .studio-source-note{grid-column:1/-1;line-height:1.45!important;font-size:10px!important;color:#8aa3cd!important}
body.alx-crm-page.alx-dark #viewDashboard .nova25-source-summary{grid-column:1/-1;margin:0!important;font-size:11px!important;line-height:1.5!important;color:#c1d5ff!important;padding:8px 10px!important;background:rgba(35,82,167,.14)!important;border:1px solid rgba(82,133,230,.22);border-radius:9px}
/* Chart emphasis without altering source values or drawing fictional series. */
body.alx-crm-page.alx-dark #viewDashboard .dash-premium-analytics .dash-analytics-panel{box-shadow:0 14px 38px rgba(0,5,25,.25),inset 0 1px rgba(188,213,255,.06)!important}
body.alx-crm-page.alx-dark #viewDashboard .dash-chart{position:relative;background:repeating-linear-gradient(0deg,transparent 0 37px,rgba(95,130,202,.12) 38px 39px),linear-gradient(180deg,rgba(15,29,65,.25),rgba(13,37,88,.14))!important;border-radius:9px;padding-top:6px!important}
body.alx-crm-page.alx-dark #viewDashboard .dash-chart-track{border-radius:8px 8px 3px 3px!important;overflow:hidden!important;background:rgba(41,75,134,.25)!important}
body.alx-crm-page.alx-dark #viewDashboard .dash-chart-track span{background:linear-gradient(0deg,#6747ee 0%,#347fed 46%,#6ce6fa 100%)!important;border-radius:8px 8px 3px 3px!important;box-shadow:0 0 18px rgba(70,137,242,.23)!important}
body.alx-crm-page.alx-dark #viewDashboard .dash-chart-day:hover .dash-chart-track span{filter:brightness(1.15)}
body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .studio-source-legend strong{font-variant-numeric:tabular-nums}
@media(max-width:1150px){body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row.dashboard-grid{align-items:start!important}}
@media(max-width:770px){body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .studio-source-body{grid-template-columns:108px minmax(0,1fr)!important}}
@media(max-width:540px){body.alx-crm-page.alx-dark #viewDashboard .nova-overview-row .studio-source-body{grid-template-columns:1fr!important}body.alx-crm-page.alx-dark #viewDashboard .nova25-source-summary{grid-column:1!important}}
/* Equal-height operational cards remove the uneven blank band between rows.
   Recent records scroll in their own panel; no data is discarded. */
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row>.dashboard-card{height:252px!important;min-height:252px!important;max-height:252px!important;display:flex!important;flex-direction:column!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .dashboard-card-head{flex:0 0 74px!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .dashboard-card-body{flex:1 1 auto!important;height:auto!important;max-height:178px!important;min-height:0!important;overflow-y:auto!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .dashboard-card-body.nova25-is-empty{display:flex!important;align-items:stretch!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .nova25-empty{flex:1;align-content:center!important;min-height:0!important}
body.alx-crm-page.alx-dark #viewDashboard .nova-activity-row .dash-follow .dashboard-card-body{display:flex;flex-direction:column}
body.alx-crm-page.alx-dark #viewDashboard .nova25-follow-footer{margin-top:auto;min-height:32px;padding:8px 12px!important;border-top:1px solid rgba(100,143,214,.18);text-align:right;background:rgba(48,82,143,.09)!important}
body.alx-crm-page.alx-dark #viewDashboard .nova25-follow-footer button{background:none!important;border:0!important;color:#8dc4ff!important;font-weight:750!important;font-size:10px!important;cursor:pointer}
body.alx-crm-page.alx-dark #viewDashboard .nova25-follow-footer button:hover{text-decoration:underline}
body.alx-crm-page.alx-dark #viewDashboard .nova25-follow-footer button:focus-visible{outline:2px solid #7ac9ff;outline-offset:3px}
