/* v6.28.2.3 — Weekly Training Plan readability and navigation */
.planner-page-v62624 .planner-week-nav-compact{
  grid-template-columns:auto minmax(180px,1fr) auto;
  align-items:center;
  min-width:min(100%,420px);
}
.planner-page-v62624 .planner-week-range{
  width:100%;
  min-width:0;
  white-space:nowrap;
  text-align:center;
}
.planner-page-v62624 .planner-week-range:disabled{
  opacity:1;
  cursor:default;
  pointer-events:none;
}
.planner-page-v62624 .planner-return-current{
  grid-column:1/-1;
  width:100%;
  justify-self:stretch;
}
.planner-page-v62624 .planner-week-arrow{
  min-width:42px;
  font-size:18px;
  line-height:1;
}
.planner-page-v62624 .planner-week-readability-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:12px 0 8px;
}
.planner-page-v62624 .planner-week-readability-controls>span{
  color:#74849a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.planner-page-v62624 .planner-week-readability-controls>div{
  display:flex;
  gap:6px;
}
.planner-page-v62624 .planner-week-readability-controls .button{
  padding:7px 10px;
  font-size:10px;
}

/* Component cards load collapsed. Summary intentionally contains only module mark + workout title. */
.planner-page-v62624 .planner-component{
  display:block;
  padding:0;
  overflow:hidden;
}
.planner-page-v62624 .planner-component-summary{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 14px;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:9px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.planner-page-v62624 .planner-component-summary::-webkit-details-marker{display:none}
.planner-page-v62624 .planner-component-summary::marker{content:""}
.planner-page-v62624 .planner-component-title{
  min-width:0;
  margin:0;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  white-space:normal;
  font-size:12px;
  line-height:1.2;
}
.planner-page-v62624 .planner-component-toggle{
  display:block;
  width:8px;
  height:8px;
  border-right:2px solid #708197;
  border-bottom:2px solid #708197;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .16s ease;
  justify-self:center;
}
.planner-page-v62624 .planner-component[open] .planner-component-toggle{
  transform:rotate(225deg) translate(-1px,-1px);
}
.planner-page-v62624 .planner-component-detail{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  margin-left:45px;
  padding:0 9px 10px 0;
  border-top:1px solid rgba(120,138,160,.18);
}
.planner-page-v62624 .planner-component-copy{
  padding-top:8px;
  min-width:0;
}
.planner-page-v62624 .planner-component-copy>span,
.planner-page-v62624 .planner-component-copy>small{
  display:block;
}
.planner-page-v62624 .planner-component-actions{
  grid-column:auto;
  margin:0;
}
.planner-page-v62624 .planner-component-actions .planner-open-module{
  margin-left:auto;
}
.planner-page-v62624 .planner-component[open]{
  box-shadow:0 5px 14px rgba(13,31,58,.05);
}
.planner-page-v62624 .planner-component-summary:focus-visible{
  outline:2px solid #1d91de;
  outline-offset:-2px;
}

html[data-theme="dark"] .planner-page-v62624 .planner-week-readability-controls>span,
body.dark .planner-page-v62624 .planner-week-readability-controls>span{color:#aebdca}
html[data-theme="dark"] .planner-page-v62624 .planner-component-toggle,
body.dark .planner-page-v62624 .planner-component-toggle{border-color:#b7c7d5}
html[data-theme="dark"] .planner-page-v62624 .planner-component-detail,
body.dark .planner-page-v62624 .planner-component-detail{border-top-color:#32485b}

@media(max-width:820px){
  .planner-page-v62624 .planner-week-nav-compact{width:100%;min-width:0;grid-template-columns:44px minmax(0,1fr) 44px}
  .planner-page-v62624 .planner-week-range{font-size:11px;padding-left:8px;padding-right:8px}
  .planner-page-v62624 .planner-week-readability-controls{align-items:stretch;justify-content:space-between}
}
@media(max-width:560px){
  .planner-page-v62624 .planner-week-readability-controls{flex-direction:column;gap:6px}
  .planner-page-v62624 .planner-week-readability-controls>div{display:grid;grid-template-columns:1fr 1fr}
  .planner-page-v62624 .planner-component-summary{grid-template-columns:34px minmax(0,1fr) 14px;padding:10px}
  .planner-page-v62624 .planner-component-detail{margin-left:52px;padding-right:10px}
  .planner-page-v62624 .planner-component-title{font-size:13px}
}

/* v6.28.2.3 — Keep expanded component actions inside narrow weekly-plan cards. */
.planner-page-v62624 .planner-component-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:6px;
  width:100%;
  min-width:0;
}
.planner-page-v62624 .planner-component-actions .planner-component-status{
  max-width:100%;
}
.planner-page-v62624 .planner-component-actions .planner-open-module{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  margin-left:0;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  text-align:left;
  box-sizing:border-box;
}

/* v6.34.3.2.32 — Keep the collapsed Game title and official pitch-count
   status in separate rows so neither can squeeze or overlap the other. */
.planner-page-v62624 .planner-game-component .planner-component-summary{
  grid-template-columns:28px minmax(0,1fr) 14px;
  grid-template-rows:auto auto;
  column-gap:8px;
  row-gap:5px;
}
.planner-page-v62624 .planner-game-component .planner-component-mark{
  grid-column:1/2;
  grid-row:1/3;
  align-self:center;
}
.planner-page-v62624 .planner-game-component .planner-component-title{
  grid-column:2/3;
  grid-row:1/2;
  align-self:end;
  width:100%;
  min-width:0;
}
.planner-page-v62624 .planner-game-component .planner-game-pitch-count{
  grid-column:2/3;
  grid-row:2/3;
  justify-self:start;
  align-self:start;
  min-width:0;
  max-width:100%;
}
.planner-page-v62624 .planner-game-component .planner-component-toggle{
  grid-column:3/4;
  grid-row:1/3;
  align-self:center;
}
@media(max-width:560px){
  .planner-page-v62624 .planner-game-component .planner-component-summary{
    grid-template-columns:34px minmax(0,1fr) 14px;
  }
}
