/* Baseline desktop dashboard geometry. Sole desktop owner after the 4.0.72 audit.
   Loaded at >=901px, or >=621px with a fine pointer and hover.
   Phone/touch layouts <=900px remain in styles.css and are regression-tested.
   Keep these rules scoped to #today; do not change the app shell or other tabs. */
#today .dashboard-main-grid{
  --dashboard-ring-size:160px;
  --dashboard-ring-stroke:13px;
  --dashboard-content-gap:24px;
  --dashboard-bar-height:10px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px!important;
  align-items:stretch;
}
#today .dashboard-main-grid>.dashboard-primary,
#today .dashboard-main-grid>.samsung-activity-card{min-width:0;margin:0}
#today .dashboard-main-grid .dashboard-nutrition-card,
#today .dashboard-main-grid>.samsung-activity-card{
  min-width:0;
  height:100%;
  padding:24px!important;
}
#today .dashboard-main-grid .dashboard-card-head{margin:0 0 18px}
#today .dashboard-main-grid .calorie-wrap,
#today .dashboard-main-grid .activity-dashboard-layout{
  display:grid!important;
  grid-template-columns:var(--dashboard-ring-size) minmax(0,1fr)!important;
  grid-template-rows:auto;
  gap:var(--dashboard-content-gap)!important;
  align-items:start!important;
  min-height:calc(var(--dashboard-ring-size) + 28px)!important;
  margin:0!important;
}
#today .dashboard-main-grid .nutrition-ring-column{
  width:var(--dashboard-ring-size);
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
}
#today .dashboard-main-grid #calorieRing,
#today .dashboard-main-grid #caloriesRing{
  box-sizing:border-box;
  width:var(--dashboard-ring-size)!important;
  height:var(--dashboard-ring-size)!important;
  min-width:var(--dashboard-ring-size)!important;
  min-height:var(--dashboard-ring-size)!important;
  max-width:var(--dashboard-ring-size)!important;
  max-height:var(--dashboard-ring-size)!important;
  aspect-ratio:1;
  flex:none;
  margin:0!important;
  align-self:start;
  justify-self:start;
}
#today .dashboard-main-grid #calorieRing::before,
#today .dashboard-main-grid #caloriesRing::after{inset:var(--dashboard-ring-stroke)!important}
#today .dashboard-main-grid #calorieRing small,
#today .dashboard-main-grid #caloriesRing span{font-size:12px!important;line-height:1.1!important}
#today .dashboard-main-grid #calorieRing strong,
#today .dashboard-main-grid #caloriesRing strong{font-size:32px!important;line-height:1!important}
#today .dashboard-main-grid #calorieRing .ring-goal-pct,
#today .dashboard-main-grid #caloriesRing b{font-size:17px!important;line-height:1!important;margin-top:8px!important}
#today .dashboard-main-grid .dashboard-calorie-budget{
  position:static!important;
  transform:none!important;
  width:100%;
  margin:0!important;
  padding:0;
  text-align:center;
}
#today .dashboard-main-grid .dashboard-calorie-budget b{
  display:block;
  font-size:16px!important;
  line-height:1.1!important;
  white-space:nowrap;
}
#today .dashboard-main-grid .macro-list,
#today .dashboard-main-grid .activity-bars{
  display:grid!important;
  grid-template-rows:repeat(3,44px);
  gap:12px!important;
  align-self:start!important;
  align-content:start;
  min-width:0;
  width:100%;
  margin:0;
  padding:0;
}
#today .dashboard-main-grid .macro-list>div,
#today .dashboard-main-grid .activity-bar-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:17px var(--dashboard-bar-height);
  gap:8px!important;
  align-items:center;
  min-width:0;
  margin:0!important;
}
/* Activity has a header wrapper; Nutrition has direct label/value children.
   Explicitly span that wrapper rather than treating the DOM trees as identical. */
#today .dashboard-main-grid .activity-bar-row>div{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:8px;
  min-width:0;
  margin:0;
}
#today .dashboard-main-grid .macro-list>div>span,
#today .dashboard-main-grid .activity-bar-row b{font-size:13px!important;line-height:17px!important;font-weight:800!important}
#today .dashboard-main-grid .macro-list>div>b,
#today .dashboard-main-grid .activity-bar-row span{font-size:11px!important;line-height:17px!important;font-weight:700;text-align:right}
#today .dashboard-main-grid .macro-list>div>i,
#today .dashboard-main-grid .activity-bar-row>i{
  grid-column:1/-1;
  display:block;
  width:100%;
  height:var(--dashboard-bar-height)!important;
  margin:0!important;
  border-radius:999px;
}
#today .dashboard-main-grid .macro-list em,
#today .dashboard-main-grid .activity-bar-row em{border-radius:999px}
#today .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#today .dashboard-stat-card{min-width:0}
#today .workout-week-card{container:dashboard-workouts / inline-size}
#today .workout-week-card #consistencyValue{white-space:normal;flex-wrap:wrap;row-gap:4px}
#today .workout-week-card #consistencyValue small{min-width:0;white-space:normal;line-height:1.3}
#today .workout-week-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
#today .workout-week-breakdown>div{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:6px;padding:8px}
#today .workout-week-breakdown span{white-space:normal;overflow-wrap:anywhere;min-width:0;line-height:1.3}
@container dashboard-workouts (max-width:340px){
  #today .workout-week-breakdown{grid-template-columns:minmax(0,1fr);gap:5px}
  #today .workout-week-breakdown>div{padding:6px 9px}
}
@media(max-width:1100px){
  #today .dashboard-main-grid{--dashboard-ring-size:132px;--dashboard-ring-stroke:11px;--dashboard-content-gap:20px;--dashboard-bar-height:9px}
  #today .dashboard-main-grid #calorieRing strong,#today .dashboard-main-grid #caloriesRing strong{font-size:30px!important}
  #today .dashboard-main-grid .dashboard-calorie-budget b{font-size:14px!important}
  #today .dashboard-main-grid .macro-list,#today .dashboard-main-grid .activity-bars{grid-template-rows:repeat(3,40px);gap:8px!important}
  #today .dashboard-main-grid .macro-list>div,#today .dashboard-main-grid .activity-bar-row{grid-template-rows:16px var(--dashboard-bar-height);gap:6px!important}
}
@media(min-width:1200px){
  #today .dashboard-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
