.dashboard-source-body{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;padding:10px 14px 14px;min-width:0}
.dashboard-source-body>.outcome-rings{width:132px!important;height:132px!important;flex:0 0 132px!important;margin:0!important}
.source-legend{flex:1 1 180px;min-width:0;align-self:center;gap:6px}
.source-legend button{display:grid!important;width:100%;min-width:0;grid-template-columns:8px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:38px;padding:8px!important;text-align:left;white-space:normal;border:0;border-radius:6px;font:inherit;color:var(--theme-ink,#1C3A57)!important;background:var(--theme-chip,#F5F0E8)!important;border-color:var(--theme-line,#E4D9C8)!important}
.source-legend button>span:not(.source-figures){overflow-wrap:anywhere;line-height:1.4}
.source-figures{display:grid;gap:2px;text-align:right;min-width:0}
.source-figures b{color:var(--theme-ink,#1C3A57)}
.source-figures small{color:var(--theme-muted,#785537);font-size:10px}
.source-dot{width:7px;height:7px;border-radius:50%;display:block}
.dashboard-source-scope{margin:0 14px 10px;color:var(--theme-muted,#785537);font-size:11px;line-height:1.5}
.dashboard-source-refresh{margin:0 14px 14px;min-height:36px;padding:7px 11px;border:1px solid var(--theme-line,#E4D9C8);border-radius:7px;color:var(--theme-ink,#1C3A57);background:var(--theme-chip,#F5F0E8);font:600 12px Montserrat,sans-serif}
.source-others{min-width:0;color:var(--theme-ink,#1C3A57)}
.source-others>summary{display:flex;justify-content:space-between;gap:8px;padding:8px;min-height:38px;align-items:center;cursor:pointer;color:var(--theme-ink,#1C3A57);background:var(--theme-chip,#F5F0E8);border-radius:6px;font-size:12px}
.source-others>summary::before{content:'›';font-size:17px;line-height:1}
.source-others[open]>summary::before{content:'⌄'}
.source-others>summary>span{flex:1;min-width:0;overflow-wrap:anywhere}
.source-others>div{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding:5px 0 0;border:0;max-height:260px;overflow:auto}
/* Sources are categories, not good/bad outcomes. Bright rings match their legend. */
.dashboard-sources-panel{--source-0:#276BD5;--source-1:#A64B00;--source-2:#087A42;--source-3:#9142BD;--source-4:#007F89}
#dashboard-section[data-widget-theme=navy] .dashboard-sources-panel{--source-0:#82AFFF;--source-1:#FFBE66;--source-2:#3BE38B;--source-3:#F08DFF;--source-4:#64CFFF}
.dashboard-sources-panel .ring-source-0{stroke:var(--source-0)}.source-color-0{background:var(--source-0)}
.dashboard-sources-panel .ring-source-1{stroke:var(--source-1)}.source-color-1{background:var(--source-1)}
.dashboard-sources-panel .ring-source-2{stroke:var(--source-2)}.source-color-2{background:var(--source-2)}
.dashboard-sources-panel .ring-source-3{stroke:var(--source-3)}.source-color-3{background:var(--source-3)}
.dashboard-sources-panel .ring-source-4{stroke:var(--source-4)}.source-color-4{background:var(--source-4)}
.dashboard-source-dialog{padding:20px!important;--ink:#1C3A57;--muted:#586979;--navy:#1C3A57;--line:#E4D9C8;background:#FBF8F3;color:#1C3A57}
.dashboard-source-dialog .dialog-heading{gap:12px;align-items:flex-start}
.dashboard-source-dialog h2{font-family:Montserrat,sans-serif!important;font-size:20px!important;overflow-wrap:anywhere;min-width:0}
.dashboard-source-dialog .dashboard-stage-records button{color:#1C3A57!important;background:#FBF8F3!important;overflow-wrap:anywhere}
.dashboard-source-dialog .dashboard-stage-records small{color:#586979!important}
.source-dialog-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.source-dialog-actions button{min-height:40px;padding:8px 12px;border:1px solid #DCC4A8;border-radius:7px;background:#F5F0E8;color:#1C3A57;font:600 12px Montserrat,sans-serif}
@media(pointer:coarse){.source-legend button,.source-others>summary,.dashboard-source-refresh{min-height:44px}.source-dialog-actions button{min-height:44px}}
@media(max-width:420px){.dashboard-source-dialog{padding:14px!important}.dashboard-source-body{padding-inline:12px}}
