/* Charts share the authenticated dashboard's selected-day data. */
.dashboard{--chart-teal:#327c74;--chart-gold:#d7a956;--chart-grey:#8798a5}
.dashboard .cards{gap:16px;margin-bottom:22px}.dashboard .metric{box-shadow:0 3px 12px #152d3504;border:0;border-top:3px solid #c8d8d6;border-radius:12px;padding:22px;min-width:0}.dashboard .metric:first-child{background:#204f4c;border-top-color:#204f4c;color:white}.dashboard .metric:first-child .metric-label,.dashboard .metric:first-child .metric-sub,.dashboard .metric:first-child .arrow{color:#d5e6e1}.dashboard .metric:nth-child(2){border-top-color:var(--chart-gold)}.dashboard .metric:nth-child(3){border-top-color:#8aa3b2}.dashboard .metric:nth-child(4){border-top-color:var(--chart-teal)}.dashboard .metric-value{font-size:37px;font-variant-numeric:tabular-nums}.dashboard .metric-label{font-size:13px}.dashboard .deal-values strong{font-size:32px}.dashboard .metric-sub{line-height:1.6}.secretary-cards{grid-template-columns:repeat(3,1fr)}
.live-status{display:flex;align-items:center;gap:7px}.live-status>i{width:6px;height:6px;background:var(--chart-teal);border-radius:50%}.refresh-cadence{border-left:1px solid #d2dcdd;padding-left:10px;margin-left:3px}.chart-grid{display:grid;gap:20px;align-items:stretch;margin-bottom:20px}.lead-charts{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.equal-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid>.panel{min-width:0;margin:0}.dashboard .panel{border-color:#e4eaea;box-shadow:0 3px 12px #152d3503}.chart-panel .panel-head{margin-bottom:15px}.chart-subtitle{font-size:11px;color:var(--muted);margin:4px 0 0}.chart-unit{font-size:10px;white-space:nowrap;color:var(--muted);padding-top:4px}.chart-empty{min-height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.chart-empty>span{font-size:36px;color:#becbcf;margin-bottom:8px}
.column-chart{display:flex;height:198px;gap:8px;padding-top:8px}.chart-axis{font-size:10px;color:var(--muted);display:flex;flex-direction:column;justify-content:space-between;padding:24px 0 36px;min-width:27px}.column-viewport{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scroll-behavior:smooth}.columns{display:grid;grid-template-columns:repeat(48,38px);gap:2px;background:repeating-linear-gradient(to top,transparent 0,transparent 43px,#eaf0f1 44px,transparent 45px);width:max-content;min-width:100%}.column-item{display:flex;flex-direction:column;align-items:center;padding:0;background:transparent;min-width:0;min-height:0!important;border-radius:4px;color:var(--ink)}.column-item:hover{background:#eaf2ef}.column-value{font-size:10px;height:23px;line-height:23px;font-variant-numeric:tabular-nums}.column-plot{height:130px;display:flex;align-items:flex-end;justify-content:center;width:100%;border-bottom:1px solid #cfdadb}.column-bar{width:68%;max-width:20px;background:var(--chart-teal);display:flex;flex-direction:column;justify-content:flex-start;border-radius:3px 3px 0 0;overflow:hidden}.column-bar>span{display:block;flex-shrink:0}.column-label{font-size:9px;color:var(--muted);padding-top:6px;font-variant-numeric:tabular-nums;white-space:nowrap}.column-item:nth-child(2n) .column-label{color:#9aa8b2}.column-item.future{opacity:.5}.chart-foot{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin-top:10px}.chart-foot>span{display:flex;align-items:center;gap:5px}.chart-foot i,.ring-legend i,.status-legend i{width:8px;height:8px;border-radius:2px;display:inline-block;flex-shrink:0}.chart-foot i:not(:first-child){margin-left:10px}
.mix-layout{display:flex;gap:22px;align-items:center;justify-content:center;min-height:217px}.ring-chart{position:relative;width:170px;max-width:52%;flex-shrink:0;aspect-ratio:1}.ring-chart svg{width:100%;height:100%;display:block}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.ring-center strong{font-size:33px;line-height:1.3;letter-spacing:-1px}.ring-center span{font-size:10px;color:var(--muted)}.ring-legend{flex:1;max-width:155px;min-width:82px}.ring-legend button{display:grid;grid-template-columns:1fr auto;width:100%;padding:9px 0;border-radius:0;border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:4px}.ring-legend button>span{display:flex;align-items:center;gap:6px;font-size:12px}.ring-legend strong{font-size:20px}.ring-legend small{font-size:10px;font-weight:400;margin-left:3px}.ring-legend em{grid-column:1/-1;color:var(--muted);font-size:11px;font-style:normal;padding-left:14px}
.rank-list{max-height:247px;overflow:auto;scrollbar-width:thin}.rank-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 0;background:transparent;border-bottom:1px solid #f0f3f3;border-radius:0}.rank-row:last-child{border:0}.rank-row:hover{background:#f7faf9}.rank-index{font-size:11px;font-variant-numeric:tabular-nums;color:#9aabad;min-width:18px}.rank-body{flex:1;min-width:0}.rank-label{display:block;font-size:12px;margin-bottom:7px;overflow-wrap:anywhere}.rank-track{height:7px;background:#eef3f2;display:block;border-radius:2px;overflow:hidden}.rank-track>span{display:block;background:var(--chart-teal);height:100%;border-radius:2px}.rank-number{font-size:10px;min-width:52px;text-align:right;color:var(--muted)}.rank-number strong{font-size:19px;color:var(--ink);font-variant-numeric:tabular-nums}.rank-number small{display:block;font-size:10px}
.progress-summary,.coverage-summary{display:flex;align-items:baseline;gap:14px;margin:14px 0}.progress-summary>strong,.coverage-summary>strong{font-size:33px;font-weight:650;line-height:1.3}.progress-summary small,.coverage-summary small{font-size:16px;margin-left:2px}.progress-summary>span,.coverage-summary>span{color:var(--muted);font-size:12px}.status-stack{height:14px;display:flex;background:#edf1f2;border-radius:4px;overflow:hidden}.status-stack>span{height:100%}.status-legend{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:11px;color:var(--muted)}.status-legend>span{display:flex;align-items:center;gap:5px}.status-legend strong{color:var(--ink);margin-left:2px}.priority-link{width:100%;display:flex;gap:12px;margin-top:20px;background:#f6f8f7;padding:11px 12px;font-size:12px;text-align:left;color:var(--ink)}.priority-link>strong{margin-left:auto}.priority-link>span{color:var(--muted);font-size:11px}.coverage-track{height:14px;background:#edf1f2;border-radius:4px;overflow:hidden}.coverage-track>span{display:block;height:100%;background:var(--chart-teal)}.coverage-counts{display:flex;justify-content:space-between;align-items:center;margin-top:13px;gap:8px;color:var(--muted);font-size:11px}.coverage-counts button{font-size:11px}.coverage-counts strong{color:var(--ink)}
@media(max-width:1150px){.mix-layout{gap:10px}.ring-chart{width:145px}.dashboard .metric{padding:18px}.lead-charts{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
@media(max-width:850px){.chart-grid{grid-template-columns:minmax(0,1fr)}.mix-layout{justify-content:flex-start;gap:28px}.ring-chart{width:170px}.ring-legend{max-width:220px}.chart-grid{gap:15px;margin-bottom:15px}.chart-unit{font-size:9px}}
@media(max-width:700px){.dashboard .cards{gap:10px;margin-bottom:15px}.dashboard .metric{padding:15px 12px;border-top-width:2px}.dashboard .metric-value{font-size:28px}.dashboard .metric-value small{font-size:10px;margin-left:4px}.dashboard .deal-values strong{font-size:26px}.dashboard .metric-label{font-size:11px}.dashboard .metric-sub{font-size:10px}.overview-meta{align-items:flex-start;font-size:10px;gap:8px}.live-status{gap:4px;flex-wrap:wrap;justify-content:flex-end}.refresh-cadence{font-size:9px;padding-left:6px;margin-left:0}.chart-subtitle{font-size:10px}.columns{gap:2px}.chart-foot{font-size:9px}.column-label{font-size:9px}.column-bar{width:68%}.chart-axis{min-width:22px}.mix-layout{min-height:180px;gap:22px}.ring-chart{width:158px}.status-legend{font-size:10px}.secretary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard .secretary-cards .metric-sub{font-size:9px}}

.live-status.stale{color:#a83c39}.live-status.stale>i{background:#a83c39}.live-status.stale .refresh-cadence{display:none}
