.plan-summary { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:18px; }
.plan-summary .app-card { min-width:0; }
.plan-summary h2 { margin:0 0 12px; font-size:13px; color:var(--dash-muted); }
.plan-total>strong,.plan-current>strong { display:block; font-size:30px; line-height:1.2; }
.plan-total progress { display:block; width:100%; height:12px; margin-top:16px; accent-color:var(--dash-accent); }
.plan-total p,.plan-current p { font-size:13px; margin:10px 0; }
.plan-weeks { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:6px; }
.plan-weeks a { display:flex; flex-direction:column; gap:6px; min-height:82px; border:1px solid var(--dash-border); border-radius:8px; padding:12px 6px; text-align:center; text-decoration:none; font-size:12px; }
.plan-weeks a[aria-current=step] { border:2px solid var(--dash-accent); background:var(--dash-bg); }
.plan-weeks small { font-size:10px; }
.plan-actions ul { list-style:none; padding:0; margin:0; }
.plan-actions li { border-top:1px solid var(--dash-border); padding:18px 0; }
.plan-action-form { display:flex; gap:16px; align-items:center; justify-content:space-between; margin:0; }
.plan-action-form label { display:flex; align-items:center; gap:16px; cursor:pointer; flex:1; min-width:0; font-weight:400; }
.plan-action-form input[type=checkbox] { flex-shrink:0; width:22px; height:22px; margin:0; accent-color:var(--dash-accent); }
.plan-action-form small { display:block; font-size:12px; margin-bottom:6px; color:var(--dash-muted); }
.plan-action-text { display:block; line-height:1.5; }
.plan-actions [data-done=true] .plan-action-text { text-decoration:line-through; color:var(--dash-muted); }
.plan-action-form input:focus-visible { outline:3px solid var(--dash-accent); outline-offset:4px; }
.plan-action-form button[hidden] { display:none; }
.plan-materials { font-size:13px; margin:12px 0 0; }
.plan-downloads { font-size:14px; }
.plan-picker { display:flex; gap:12px; align-items:end; margin-bottom:20px; }
@media(max-width:1190px) { .plan-weeks { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media(max-width:650px) {
  .plan-summary { grid-template-columns:1fr 1fr; gap:10px; }
  .plan-summary .weekly-next { grid-column:1/-1; }
  .plan-summary .app-card { margin-bottom:0; }
  .plan-summary { margin-bottom:20px; }
  .plan-current>strong { font-size:23px; }
  .plan-weeks { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .plan-action-form label { gap:12px; }
  .plan-picker { flex-wrap:wrap; }
}
