/* 入力画面 4 種（ToDo・活動・課題・メモ）の共通の見た目。ポップアップの幅は共通の #sd-modal（ac-modal--md）。
   見出し・必須の印・入力欄の高さ 44px・余白・ボタンの並び（左に保存・右にキャンセル）をここ 1 か所で決める。 */
.if-head { display: flex; align-items: center; gap: .5rem; padding-right: 3.5rem; }
.if-head .ac-modal__title { margin: 0; }
.if-body { display: flex; flex-direction: column; gap: 1rem; padding: 1rem 1.25rem; }
.if-body > .ac-alert { margin: 0; }
.if-f { margin: 0; }
.if-f .ac-field__label { font-weight: 700; }
.if-form .if-c { min-height: 44px; box-sizing: border-box; width: 100%; }
.if-form textarea.if-ta { min-height: 96px; padding-top: .5rem; }
.if-hint { color: var(--ac-muted, #56626d); font-size: .8125rem; margin-top: .25rem; }
.if-err { color: #b3261e; font-size: .8125rem; margin-top: .25rem; }
.if-fixed { min-height: 44px; display: flex; align-items: center; padding: 0 .75rem; border: 1px solid var(--ac-border, #dfe5ea); border-radius: 8px; background: var(--ac-surface-2, #f3f5f7); }
.if-when { display: flex; gap: .5rem; align-items: center; }
.if-when > .ac-select-wrap { flex: 0 0 6rem; }
.if-when > input[type=date] { flex: 1 1 10rem; min-width: 0; }
.if-when__to { color: var(--ac-muted, #56626d); }
.if-foot { display: flex; align-items: center; gap: .5rem; justify-content: flex-start; }
.if-foot .if-foot__mid { margin-left: auto; }
.if-foot .if-foot__end { margin-left: auto; }
.if-foot .if-foot__mid + .if-foot__end { margin-left: 0; }
.if-page { max-width: 36rem; margin: 0 auto; }
@media (max-width: 640px) {
  .if-when { flex-wrap: wrap; }
  .if-when > input[type=date] { flex: 1 1 100%; }
  .if-when > .ac-select-wrap { flex: 1 1 6rem; }
  .if-head { padding-right: 3rem; }
}
/* 対象の選択（検索つき。候補は /home/targets から部分取得） */
.hm-tgt { position: relative; }
.hm-tgt__menu { position: absolute; z-index: 5; left: 0; right: 0; max-height: 16rem; overflow: auto; background: #fff; border: 1px solid var(--ac-border, #dfe5ea); border-radius: 8px; }
.hm-tgt__menu[hidden] { display: none; }
.hm-tgt__list { list-style: none; margin: 0; padding: 0; }
.hm-tgt__list .hm-muted { padding: .5rem .75rem; margin: 0; color: var(--ac-muted, #56626d); font-size: .8125rem; }
.hm-tgt__opt { display: block; width: 100%; min-height: 44px; padding: 0 .75rem; text-align: left; background: none; border: 0; font: inherit; cursor: pointer; }
.hm-tgt__opt:hover, .hm-tgt__opt:focus { background: #f3f5f7; }
/* 削除ボタン（⊖ のアイコン。全画面で共通） */
.sd-delete-btn { white-space: nowrap; }
