/* 同じ軸の予定は破線、実績は実線。色は既存の活動カテゴリをそのまま使う。 */
.day-schedule { display: grid; gap: var(--sp-3); min-width: 0; }
.day-schedule h2, .day-schedule h3 { font-size: var(--fs-sm); }
.day-schedule-heading, .day-schedule-legend { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); }
.day-schedule-heading { justify-content: space-between; }
.day-schedule-heading > button, .day-schedule-legend > button { display: inline-flex; align-items: center; gap: var(--sp-1); min-height: var(--ctl); }
.day-schedule-legend { font-size: var(--fs-xs); color: var(--mu); }
.day-schedule-legend > span { padding: var(--sp-1) var(--sp-2); border: 1px solid var(--mu); border-radius: var(--r-sm); }
.day-schedule-legend > .is-plan { border-style: dashed; }
.day-schedule-legend > button { margin-left: auto; }
.day-schedule > .hint { padding: 0; }
.day-schedule-block.is-plan { border: 1px dashed var(--c, var(--mu)); border-left-width: 4px; background: var(--sf); }
.day-schedule-block.is-actual { border-style: solid; }
.day-schedule-block > strong, .day-schedule-block > span { flex: none; }
.day-schedule-block.short.is-plan { border-top-width: 1px; border-bottom-width: 1px; }
.day-schedule-now { position: absolute; left: 0; right: 0; z-index: 1; border-top: 2px solid var(--ac); pointer-events: none; }
.day-schedule-now > span { position: absolute; top: -7px; left: -46px; padding-inline: var(--sp-1); background: var(--bg); color: var(--ac); font-size: var(--fs-2xs); line-height: var(--lh-tight); }
.day-schedule-rows { list-style: none; padding: 0; margin: 0; }
.day-schedule-rows > li + li { border-top: 1px solid var(--line); }
.day-schedule-row { display: flex; width: 100%; min-height: var(--ctl); align-items: flex-start; gap: var(--sp-2); padding: var(--sp-3); border-left: 3px solid var(--c, var(--mu)); text-align: left; }
.day-schedule-row.is-plan { border-left-style: dashed; }
.day-schedule-row-time { flex: 0 0 78px; font: var(--fs-xs)/var(--lh) var(--font-mono); overflow-wrap: anywhere; }
.day-schedule-copy { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.day-schedule-copy > strong { font-size: var(--fs-sm); }
.day-schedule-copy > span { display: block; font-size: var(--fs-xs); }
.day-schedule-copy .review-values { font-family: var(--font-mono); }
.day-schedule-row > span:last-child { flex-shrink: 0; }
.day-schedule-row:hover { background: var(--sf2); }
.day-schedule-row:focus-visible { outline-offset: -3px; }
