/* bed-allocation 固有のスタイル。色は shared/moai-quickstart.css のトークンだけを使う（ライト/ダーク両対応）。 */
#viewTabs { margin-top: 20px; }
#viewTabs + section { margin-top: 16px; }
section.view { margin-top: 16px; }

/* timeline: 病室・ベッドのラベル */
.room-label { line-height: 1.35; padding: 2px 0; }
.room-label b { font-weight: 650; margin-right: 6px; color: var(--ink); }
.room-tags { margin-top: 2px; max-width: 220px; white-space: normal; }
.bed-label { color: var(--ink-2); font-size: 0.8rem; }
.vis-labelset .vis-label.vis-nesting-group { background: var(--surface-2); }
.vis-foreground .vis-group.vis-nesting-group { background: var(--surface-2); }
.vis-label.vis-nesting-group.expanded:before,
.vis-label.vis-nesting-group.collapsed:before { color: var(--ink-muted); }

/* timeline: 滞在アイテム */
.vis-item .stay { line-height: 1.35; white-space: normal; }
.vis-item .stay b { font-weight: 650; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vis-item .stay .tag { margin-top: 2px; }
.vis-item .stay .stay-tags { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vis-item.bad {
  border-color: var(--critical) !important;
  background: var(--critical-bg) !important;
}
.tag.accent-soft { background: hsl(var(--h, 210) 60% var(--lesson-edge-l) / 0.18); color: var(--ink); }
.legend i.bad-swatch { background: var(--critical); }

/* 未割当カード */
.lesson .stay-tags { margin: 3px 0 1px; }

/* 一覧 */
#stayTable td, #stayTable th { white-space: nowrap; }
#stayTable thead th { position: sticky; top: 0; z-index: 1; }

/* 狭い画面ではラベル列を細くしてタイムラインに幅を残す */
@media (max-width: 640px) {
  .room-tags { display: none; }
  .room-label .muted { display: none; }
}
