.plan-card { padding: 30px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.plan-card legend { margin-bottom: 16px; font-size: 13px; font-weight: 600; }
.plan-card__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.plan-card__days label { position: relative; cursor: pointer; }
.plan-card__days input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.plan-card__days span { display: grid; place-items: center; min-height: 62px; border: 1px solid var(--border); border-radius: 12px; font-size: 12px; font-weight: 600; }
.plan-card__days input:checked + span { color: var(--on-primary-container); border-color: var(--primary); background: var(--primary-container); }
.plan-card__days input:focus-visible + span { outline: 3px solid var(--primary); outline-offset: 3px; }
.plan-card__duration { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 28px 0; font-size: 13px; font-weight: 600; }
.plan-card__duration select { min-height: 44px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--background); }
.plan-card__hint { margin-bottom: 18px; color: var(--muted); font-size: 12px; }
.plan-card__hint strong { color: var(--text); }
.plan-card__status { min-height: 20px; margin-top: 12px; color: var(--primary); font-size: 12px; }
.progress-history { list-style: none; margin: 18px 0 0; padding: 0; }
.progress-history li, .profile-list li { border-bottom: 1px solid var(--border); }
.progress-history li:last-child, .profile-list li:last-child { border-bottom: 0; }
.progress-history a { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 68px; }
.progress-history a:hover { color: var(--primary); }
.progress-history strong, .profile-list strong { display: block; font-size: 13px; }
.progress-history small, .profile-list small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }
.progress-history__empty { margin-top: 22px; color: var(--muted); font-size: 13px; }
.profile-list { list-style: none; margin: 8px 0 0; padding: 0; }
.profile-list li { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 64px; }
.profile-list a { color: var(--primary); font-size: 12px; }
.profile-section { margin-top: 22px; }
.profile-section .button { max-width: 360px; }
.profile-section__danger { min-height: 44px; margin-top: 10px; color: #913f31; font-size: 12px; }
.profile-confirm { max-width: 520px; margin-top: 12px; padding: 16px 18px; border: 1px solid #e6b4aa; border-radius: 12px; background: #fff0ed; font-size: 13px; line-height: 1.5; }
.profile-confirm__delete { margin-top: 14px; background: #913f31; }
.profile-confirm__delete:hover { background: #7a3428; }
.result-summary__note a { color: var(--primary); }

@media (max-width: 720px) {
  .plan-card { padding: 20px; }
  .plan-card__days { gap: 4px; }
  .plan-card__days span { min-height: 50px; font-size: 10px; }
}
