/* Local rehabilitation activity, using the existing card and interaction language. */
.activity-card{gap:12px;min-width:0}
.activity-note{font-size:.78rem;color:var(--muted);line-height:1.5}
.activity-card>.personal-section-head{align-items:flex-start;flex-wrap:wrap;gap:4px 12px}
.activity-period{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px;text-align:center}
.activity-period>button,.activity-calendar-toggle,.activity-start-form button{min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--primary);font:inherit;font-weight:650}
.activity-period>button{font-size:1.6rem}
.activity-period h3,.activity-period strong{margin:0;font-size:.95rem;line-height:1.4}
.activity-days,.activity-month-grid,.activity-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-inline:-10px}
.activity-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:68px;padding:5px 0;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.activity-day strong{font-size:1.15rem;line-height:1.2}
.activity-weekday,.activity-month-weekdays{font-size:.68rem;font-weight:650;color:var(--muted)}
.activity-day small{font-size:.68rem;min-height:15px;line-height:1.2}
.activity-day.is-today{border-color:var(--primary);color:var(--primary)}
.activity-day.is-selected{box-shadow:inset 0 0 0 1px var(--primary)}
.activity-day.is-activity,.activity-day.is-complete{background:#edf8f1;color:#256642}
.activity-day.is-partial{background:#fff4dd;color:#805b16}
.activity-summary{padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm,14px);background:var(--surface-soft)}
.activity-summary p{margin:5px 0 0}
.activity-empty h3{margin:0 0 8px;font-size:1rem}.activity-empty p{font-size:.95rem}
.activity-calendar-toggle{justify-self:start;padding:8px 12px;background:transparent;border-color:transparent}
.activity-month{display:grid;gap:12px;min-width:0;padding-top:12px;border-top:1px solid var(--border)}
.activity-month-weekdays{text-align:center}.activity-month-grid .activity-day{min-height:52px}
.activity-start-form{display:grid;gap:8px}.activity-start-form>div{display:flex;gap:8px;flex-wrap:wrap}.activity-start-form input{min-height:48px;min-width:0;max-width:100%;font:inherit;border:1px solid var(--border);border-radius:12px;padding:8px;background:#fff}
.daily-exercise-button{display:flex;justify-content:center;align-items:center;min-height:44px;width:100%;margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--primary);font:inherit;font-weight:650;cursor:pointer}
.daily-exercise-button[aria-pressed=true]{background:#edf8f1;color:#256642;border-color:#badbc8}
body.activity-dialog-open{overflow:hidden}
.activity-dialog{box-sizing:border-box;width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:22px;border:1px solid var(--border);border-radius:24px;background:var(--surface);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.activity-dialog::backdrop{background:rgba(16,39,51,.46)}
.activity-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-dialog-head h2{font-size:1.25rem;margin:0}.activity-dialog-head button{flex:none;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--ink);font:28px/1 sans-serif}
.activity-exercise-list{padding:0;list-style:none;display:grid;gap:8px}.activity-exercise-list li{display:flex;align-items:center;gap:12px}.activity-exercise-list a{display:flex;align-items:center;min-height:44px;color:var(--primary);line-height:1.4;text-decoration:none}
.activity-dialog :is(a,button):active{filter:brightness(.96)}
.activity-dialog :is(a,button):focus-visible{outline:3px solid var(--primary);outline-offset:3px}
@media(max-width:359px){.activity-card{margin-inline:-14px;border-inline:0;border-radius:0}.activity-days,.activity-month-grid,.activity-month-weekdays{margin-inline:-16px}}
@media(min-width:760px){.activity-days,.activity-month-grid,.activity-month-weekdays{margin-inline:0;gap:6px}.activity-day{min-height:74px}.activity-card>.personal-section-head{align-items:center}}
