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

/* timeline: 行ラベル */
.crew-label { line-height: 1.35; padding: 1px 0; }
.crew-label b { font-weight: 650; margin-right: 6px; color: var(--ink); }
.crew-label .short { color: var(--critical); font-weight: 600; }

/* timeline: 便カード */
.vis-item .flight-card { line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vis-item .flight-card b { font-weight: 650; }
.vis-item .flight-card .flight-no {
  display: block;
  font-size: 0.7rem;
  color: var(--ink-2);
  font-variant-numeric: tabular-nums;
}
.vis-item.bad {
  border-color: var(--critical) !important;
  background: var(--critical-bg) !important;
}

/* 勤務不可日（背景アイテム） */
.vis-item.vis-background.unavailable {
  background: repeating-linear-gradient(135deg,
    color-mix(in srgb, var(--ink-muted) 22%, transparent) 0 6px,
    transparent 6px 12px) !important;
}
.vis-item.vis-background .unavailable-label { font-size: 0.7rem; color: var(--ink-muted); }
.legend i.unavailable-swatch {
  background: repeating-linear-gradient(135deg, var(--ink-muted) 0 2px, transparent 2px 4px);
}
.legend i.bad-swatch { background: var(--critical); }

/* 未割当カード */
.lesson .seat-tags { margin-top: 3px; }

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