/* 予定の編集は日付と保存欄を固定し、長い本文だけをスクロールする。 */
.aside .day-plan-editor-shell { display:flex; flex-direction:column; max-height:calc(100dvh - var(--sp-6)); padding:var(--sp-4); overflow:hidden; }
.day-plan-editor-shell .sh { flex:none; padding-bottom:var(--sp-3); }
.day-plan-editor-shell .sh .t { overflow-wrap:anywhere; }
.day-plan-editor-form { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; overflow:hidden; }
.day-plan-editor-fields { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.aside .day-plan-editor-inputs.editor.flat { display:flex; flex-direction:column; gap:var(--sp-4); min-inline-size:0; margin:0; padding:var(--sp-2) var(--sp-1) var(--sp-4); border:0; }
.day-plan-editor-fields .field { margin:0; }
.day-plan-editor-fields input, .day-plan-editor-fields textarea { width:100%; min-width:0; box-sizing:border-box; }
.day-plan-editor-fields .field > label, .day-plan-checks legend { font-size:var(--fs-sm); }
.day-plan-time-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--sp-3); }
.day-plan-steps, .day-plan-running-actions { display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--sp-2); }
.day-plan-steps button, .day-plan-running-actions button { min-height:var(--ctl); }
.day-plan-checks { display:flex; flex-direction:column; min-inline-size:0; border:0; padding:0; gap:var(--sp-3); }
.day-plan-checks legend { margin-bottom:var(--sp-2); }
.day-plan-check { padding:var(--sp-3); background:var(--sf2); border-radius:var(--r-md); }
.day-plan-check input, .day-plan-check-add input { background:var(--sf); color:var(--tx); border:1px solid var(--line); border-radius:var(--r-md); padding:var(--sp-2); min-height:var(--ctl); font-size:var(--fs-md); }
.day-plan-check-name { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items:center; gap:var(--sp-1); }
.day-plan-check-name button { min-width:var(--ctl); min-height:var(--ctl); }
.day-plan-check-meta { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2); padding-top:var(--sp-2); }
.day-plan-check-meta label { display:flex; align-items:center; gap:var(--sp-2); font-size:var(--fs-sm); }
.day-plan-check-meta input { width:5em; }
.day-plan-check-meta .sws { display:flex; flex-wrap:wrap; gap:var(--sp-1); }
.day-plan-check-meta .sws .sw { position:relative; flex:none; width:var(--ctl-sm); height:var(--ctl-sm); border-radius:50%; background:var(--c); border:2px solid transparent; }
.day-plan-check-meta .sws .sw::before { inset:0; }
.day-plan-check-meta .sws .sw.none { background:transparent; border-color:var(--line); }
.day-plan-check-meta .sws .sw.none::after { content:''; position:absolute; left:var(--sp-1); right:var(--sp-1); top:50%; border-top:2px solid var(--mu); transform:rotate(-45deg); }
.day-plan-check-meta .sws .sw.on { border-color:var(--tx); box-shadow:0 0 0 2px var(--sf2); }
.day-plan-check-meta input { font-family:var(--font-mono); }
.day-plan-check-add { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--sp-2); }
.day-plan-check-add button { min-width:var(--ctl); min-height:var(--ctl); }
.day-plan-list { display:flex; flex-direction:column; gap:var(--sp-2); }
.day-plan-list .row { width:100%; min-width:0; text-align:left; }
.day-plan-list .name { min-width:0; overflow-wrap:anywhere; }
.day-plan-list .mono { font-size:var(--fs-sm); white-space:nowrap; }
.day-plan-empty, .day-plan-message { color:var(--mu); font-size:var(--fs-sm); }
.day-plan-seg { display:flex; gap:var(--sp-1); padding:var(--sp-1); border-radius:var(--r-md); background:var(--sf2); }
.day-plan-seg button { flex:1; min-height:var(--ctl); padding:var(--sp-1); font-size:var(--fs-sm); border-radius:var(--r-sm); }
.day-plan-seg .on { background:var(--sf); color:var(--ac); }
.day-plan-editor-footer { flex:none; display:flex; flex-direction:column; gap:var(--sp-2); border-top:1px solid var(--line); padding-top:var(--sp-3); padding-bottom:env(safe-area-inset-bottom); background:var(--sf); }
.day-plan-footer-main { display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--sp-3); align-items:center; }
.day-plan-footer-main > button { min-height:var(--ctl); }
.day-plan-editor-errors, .day-plan-warning { color:var(--danger); font-size:var(--fs-sm); overflow-wrap:anywhere; }
.day-plan-warning { border:1px solid var(--warn); border-radius:var(--r-md); padding:var(--sp-3); }
.day-plan-editor-shell .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (min-width:900px) { .aside:has(.day-plan-editor-shell) { position:sticky; top:var(--sp-4); } .aside .day-plan-editor-shell { max-height:calc(100dvh - var(--day-plan-editor-top, var(--sp-6)) - var(--sp-4)); } }
@media (max-width:389px) { .day-plan-time-fields { grid-template-columns:1fr; } .day-plan-check-name { grid-template-columns:minmax(0,1fr) auto auto auto; } }
