/* Dashboard-primary visual contract — v4.17.50.
   The dashboard is the sole visual reference for refresh controls and strategy status lights.
   Page containers may choose placement only; component geometry and appearance are shared. */

.dashboard-primary-refresh{
  box-sizing:border-box;
  width:auto;
  min-width:132px;
  height:var(--control-primary-height);
  min-height:var(--control-primary-height);
  padding:0 var(--control-primary-padding-x);
  border:1px solid var(--action-primary);
  border-radius:var(--control-primary-radius);
  background:var(--action-primary);
  color:#fff;
  font-family:var(--font-sans);
  font-size:var(--font-control);
  font-weight:var(--weight-control);
  line-height:1;
  box-shadow:var(--control-primary-shadow);
}
.dashboard-primary-refresh:hover:not(:disabled){
  border-color:var(--action-hover);
  background:var(--action-hover);
  color:#fff;
  box-shadow:var(--control-primary-shadow-hover);
  transform:translateY(-1px);
}
.dashboard-primary-refresh:active:not(:disabled){transform:none;box-shadow:none;}
.dashboard-primary-refresh:focus-visible{outline:2px solid var(--action-line);outline-offset:2px;}
.dashboard-primary-refresh:disabled{color:#fff;opacity:.55;cursor:wait;transform:none;}

.strategy-status-badge{
  box-sizing:border-box;
  width:var(--strategy-status-badge-width);
  min-width:var(--strategy-status-badge-width);
  max-width:var(--strategy-status-badge-width);
  height:var(--strategy-status-badge-height);
  min-height:var(--strategy-status-badge-height);
  padding:0 var(--strategy-status-badge-padding-x);
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-width:1px;
  border-style:solid;
  border-radius:var(--control-badge-radius);
  font-family:var(--font-sans);
  font-size:var(--strategy-status-badge-font-size);
  font-weight:var(--weight-badge);
  line-height:1;
  white-space:nowrap;
}
.strategy-status-badge.normal{
  border-color:var(--status-positive-line);
  background:var(--status-positive-soft);
  color:var(--status-positive-text);
}
.strategy-status-badge.pending{
  border-color:var(--status-warning-line);
  background:var(--status-warning-soft);
  color:var(--status-warning-text);
}
.strategy-status-badge.defense{
  border-color:var(--status-negative-line);
  background:var(--status-negative-soft);
  color:var(--status-negative-text);
}
.strategy-status-badge.loading{
  border-color:var(--status-neutral-line);
  background:var(--status-neutral-soft);
  color:var(--status-neutral-text);
}

/* Detail pages retain their own placement, but no longer own button or lamp visuals. */
#swingPage .picker-head .dashboard-primary-refresh,
#fundPage .reference-info-panel__head .dashboard-primary-refresh{flex:0 0 auto;align-self:center;}
#swingPage .status-module__head .strategy-status-badge,
#fundPage .status-module__head .strategy-status-badge{flex:0 0 var(--strategy-status-badge-width);}

@media(max-width:700px){
  #dashboardPage .dashboard-primary-refresh,
  #swingPage .dashboard-primary-refresh,
  #fundPage .dashboard-primary-refresh{width:100%;min-width:0;}
}
