/* Aggregate insights extend the shared, border-only reporting system. */
#overview-insights{margin-top:24px;min-width:0;scroll-margin-top:calc(var(--sticky-filter-height,60px) + 16px)}
.ov-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.ov-section-heading>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ov-section-heading>div>span,.ov-fixed-metric{color:var(--muted);font-size:.75rem}
.ov-metric-selector button{min-width:58px}
.ov-takeaways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.ov-takeaway{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;margin:0;padding:16px 20px;border:0;border-right:1px solid var(--border);background:transparent;text-align:left}
.ov-takeaway:last-child{border-right:0}
button.ov-takeaway:hover{background:var(--canvas)}
.ov-takeaway>span{color:var(--muted);font-size:.75rem}
.ov-takeaway>strong{display:flex;align-items:center;gap:9px;min-width:0;max-width:100%;font-size:1.375rem;font-weight:500;letter-spacing:-.3px;line-height:1.45;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
button.ov-takeaway>strong{font-size:1.0625rem;letter-spacing:0;min-height:32px}
.ov-takeaway>small{color:var(--muted);font-size:.75rem}
#overview-insights .positive{color:var(--accent-text,#137333)}
#overview-insights .negative{color:var(--danger-text,#b3261e)}
.ov-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.ov-panel{display:flex;flex-direction:column;min-width:0;padding:18px 20px 0;container-type:inline-size;container-name:overview-panel}
.ov-wide{grid-column:1/-1}
.ov-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;margin-bottom:16px}
.ov-panel-heading>div:first-child{min-width:0}
.ov-panel-heading p{color:var(--muted);font-size:.75rem;margin-top:4px}
.ov-panel-heading h3{font-size:.9375rem}
.ov-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:43px;margin-top:auto;padding:10px 0;border-top:1px solid var(--border-soft,#edf0f2);color:var(--muted);font-size:.75rem}
.ov-panel-foot .link-button{margin:-6px 0;padding:6px 0;font-size:.8125rem}
.ov-panel-foot>span:last-child{text-align:right}
.ov-rank-list{padding-bottom:10px;flex:1}
.ov-rank-row{display:grid;grid-template-columns:minmax(100px,1.1fr) minmax(24px,1fr) minmax(78px,auto);align-items:center;gap:14px;width:100%;min-height:48px;padding:8px 0;border:0;border-radius:5px;background:transparent;text-align:left}
.ov-rank-row:hover,.ov-mover-row:hover{background:var(--canvas)}
.ov-rank-row:focus-visible,.ov-mover-row:focus-visible{outline-offset:0}
.ov-rank-identity,.ov-mover-name{display:flex;align-items:center;gap:9px;min-width:0}
.ov-rank-identity .entity-flag,.ov-mover-name .entity-flag{width:24px;height:18px;line-height:18px}
.ov-rank-identity .entity-avatar,.ov-mover-name .entity-avatar{width:25px;height:25px;border-radius:5px}
.ov-rank-identity .entity-avatar .icon,.ov-mover-name .entity-avatar .icon{width:14px;height:14px}
.ov-rank-name{min-width:0;font-size:.8125rem;line-height:1.4;overflow-wrap:anywhere}
.ov-rank-name small{display:block;margin-top:3px;color:var(--muted);font-size:.75rem}
.ov-rank-track,.ov-mover-track,.ov-day-track{display:block;height:6px;min-width:0;border-radius:3px;background:var(--accent-soft,#edf3ef);overflow:hidden}
.ov-rank-track i,.ov-mover-track i,.ov-day-track i{display:block;height:100%;width:var(--rank-width);border-radius:inherit;background:var(--rank-color,var(--accent))}
.ov-rank-values,.ov-mover-values{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.ov-rank-values strong,.ov-mover-values strong{font-size:.8125rem;font-weight:600}
.ov-rank-values small,.ov-mover-values small{font-size:.75rem;color:var(--muted)}
.ov-inactive-toggle{display:inline-flex;align-items:center;gap:7px;padding:2px 0;min-height:28px;border:0;background:transparent;color:var(--muted);font-size:.75rem;white-space:nowrap}
.ov-inactive-toggle[aria-checked=true] .custom-switch{background:var(--accent)}
.ov-inactive-toggle[aria-checked=true] .custom-switch:after{transform:translateX(13px)}
.ov-account-body{display:flex;align-items:center;gap:16px;flex:1;padding-bottom:18px;min-width:0}
.ov-donut{position:relative;width:152px;max-width:100%;flex:none;aspect-ratio:1}
.ov-donut svg{display:block;width:100%;height:100%}
.ov-donut-label{position:absolute;inset:25%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;pointer-events:none}
.ov-donut-label strong{max-width:110px;font-size:1.125rem;font-weight:500;letter-spacing:-.4px;line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ov-donut-label span{color:var(--muted);font-size:.75rem;margin-top:4px;white-space:nowrap}
.ov-account-legend{flex:1;min-width:0}
.ov-legend-row{grid-template-columns:minmax(80px,1fr) auto;gap:10px;min-height:52px}
.ov-account-rates{align-items:stretch}
.ov-account-rates .ov-account-legend{display:flex;flex-direction:column;justify-content:center}
.ov-weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;align-items:end;margin:2px 0 18px}
.ov-weekday{position:relative;display:flex;align-items:center;flex-direction:column;gap:5px;min-width:0;padding:8px 1px;border:1px solid transparent;border-radius:6px}
.ov-weekday.ov-weekend{background:var(--surface-muted,#f4f6f7);border-color:var(--border-soft,#e8ecee)}
.ov-weekday-value{font-size:.75rem;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}
.ov-weekday-track{display:flex;align-items:flex-end;justify-content:center;width:100%;height:132px;margin:6px 0}
.ov-weekday-track i{display:block;width:50%;max-width:25px;min-height:0;background:var(--accent);border-radius:3px 3px 0 0}
.ov-weekend .ov-weekday-track i{background:var(--chart-positive,#6eac98)}
.ov-weekday>strong{font-size:.75rem;font-weight:500}
.ov-weekday>small{font-size:.75rem;white-space:nowrap;color:var(--muted)}
.ov-weekday-tip{display:none;position:absolute;left:50%;top:37px;transform:translateX(-50%);z-index:2;min-width:154px;padding:10px 12px;background:var(--surface);border:1px solid var(--border-strong);border-radius:7px;text-align:left;pointer-events:none;white-space:nowrap}
.ov-weekday-tip strong,.ov-weekday-tip span,.ov-weekday-tip small{display:block;font-size:.75rem}
.ov-weekday-tip span{margin-top:6px;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}
.ov-weekday-tip small{margin-top:3px;color:var(--muted);font-size:.75rem}
.ov-weekday:is(:hover,:focus-visible) .ov-weekday-tip{display:block}
.ov-weekday:nth-child(-n+2) .ov-weekday-tip{left:0;transform:none}
.ov-weekday:nth-last-child(-n+2) .ov-weekday-tip{left:auto;right:0;transform:none}
.ov-weekday-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:auto;padding:12px 0 14px;border-top:1px solid var(--border-soft,#edf0f2)}
.ov-weekday-comparison>div{display:flex;flex-direction:column;gap:4px}
.ov-weekday-comparison span{color:var(--muted);font-size:.75rem}
.ov-weekday-comparison strong{font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}
.ov-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:16px}
.ov-split>div{min-width:0}
.ov-split>div+div{border-left:1px solid var(--border-soft,#edf0f2);padding-left:24px}
.ov-split h4{margin:0 0 8px;font-size:.75rem;color:var(--muted);font-weight:500}
.ov-mover-row{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(25px,1fr) minmax(75px,auto);align-items:center;gap:12px;width:100%;min-height:51px;padding:8px 0;border:0;border-radius:5px;background:transparent;text-align:left}
.ov-mover-name{color:var(--text,#3c4043);font-size:.8125rem;overflow-wrap:anywhere}
.ov-mover-track{background:var(--accent-soft,#eef5f0);height:5px}
.ov-mover-track i{background:var(--chart-positive,#3c9b6b)}
.ov-mover-row.negative .ov-mover-track{background:var(--danger-soft,#f9efee)}
.ov-mover-row.negative .ov-mover-track i{background:var(--chart-negative,#c57772)}
.ov-day-row{display:grid;grid-template-columns:125px minmax(25px,1fr) auto;align-items:center;gap:14px;padding:10px 6px;min-height:60px;border-radius:5px}
.ov-day-row.ov-weekend{background:var(--surface-muted,#f6f7f8)}
.ov-day-name{display:flex;flex-direction:column;gap:3px}
.ov-day-name strong{font-size:.8125rem;font-weight:500}
.ov-day-name small{font-size:.75rem;color:var(--muted)}
.ov-day-value{font-size:.8125rem;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.ov-day-low .ov-day-track i{background:var(--quiet-day,#e8710a)}
.ov-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:140px;padding:20px 12px;font-size:.8125rem;color:var(--muted);text-align:center}
@container overview-panel (max-width:500px){.ov-account-body{flex-direction:column;gap:2px}.ov-donut{width:145px}.ov-account-legend{width:100%}.ov-legend-row{min-height:45px}.ov-account-rates{flex-direction:row}.ov-panel-heading .ov-group-selector button{padding-inline:7px}.ov-rank-row{gap:10px}}
@container(max-width:900px){.ov-grid{grid-template-columns:1fr}.ov-wide{grid-column:auto}.ov-takeaway{padding:15px}.ov-takeaway>strong{font-size:1.25rem}.ov-panel{padding:16px 18px 0}}
@container overview-panel (max-width:640px){.ov-split{grid-template-columns:1fr;gap:16px}.ov-split>div+div{padding:16px 0 0;border-left:0;border-top:1px solid var(--border-soft,#edf0f2)}.ov-wide .ov-panel-heading{flex-wrap:wrap}}
@media(max-width:600px){#overview-insights{margin-top:20px}.ov-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.ov-section-heading>div:first-child{width:100%;justify-content:space-between}.ov-metric-selector{width:100%}.ov-metric-selector button{flex:1;min-height:36px}.ov-grid{gap:14px}.ov-takeaways{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.ov-takeaway{padding:13px 14px;gap:5px}.ov-takeaway:first-child{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center}.ov-takeaway:first-child>span{grid-column:1/-1}.ov-takeaway:first-child>small{text-align:right}.ov-takeaway>strong{font-size:1.375rem}.ov-takeaway>small{font-size:.75rem}.ov-panel{padding:16px 14px 0}.ov-panel-heading{margin-bottom:14px}.ov-inactive-toggle{min-height:36px}.ov-rank-row{min-height:54px}.ov-rank-name{font-size:.8125rem}.ov-panel-foot{gap:8px;min-height:44px}.ov-panel-foot .link-button{min-height:38px;padding:10px 0}.ov-group-selector{width:100%}.ov-group-selector button{flex:1;min-height:36px}.ov-account-body{flex-direction:column;padding-bottom:12px}.ov-account-rates{flex-direction:row}.ov-account-legend{width:100%}.ov-donut{width:155px}.ov-weekday-track{height:116px}.ov-mover-row{min-height:54px}.ov-day-row{gap:10px;grid-template-columns:118px minmax(20px,1fr) auto}}
@media(max-width:380px){.ov-panel{padding-inline:12px}.ov-rank-row{grid-template-columns:minmax(102px,1fr) minmax(20px,.45fr) auto;gap:8px}.ov-rank-identity{gap:7px}.ov-weekday-grid{gap:2px}.ov-weekday-value{font-size:.75rem}.ov-mover-row{gap:8px;grid-template-columns:minmax(110px,1fr) minmax(16px,.4fr) auto}.ov-takeaway:first-child{display:flex}.ov-takeaway:first-child>small{text-align:left}.ov-panel-foot{flex-wrap:wrap}.ov-panel-foot>span:last-child{text-align:left}}

@container overview-panel (max-width:380px){.ov-rank-row,.ov-mover-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.ov-rank-track,.ov-mover-track{display:none}.ov-day-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.ov-day-track{display:none}.ov-rank-values strong,.ov-day-value{font-size:.8125rem}.ov-panel-heading{flex-wrap:wrap}.ov-weekday-tip{min-width:138px;padding:9px}.ov-weekday-value{font-size:.6875rem}.ov-takeaway>strong{overflow-wrap:anywhere}}

/* Daily highlights: breathing room between rows so tinted weekend rows read as separate cards. */
.ov-day-row{padding:10px 12px;border-radius:8px}
.ov-day-row+.ov-day-row{margin-top:6px}
.ov-split h4{margin-bottom:8px}
