/* 交代勤務シフト表ジェネレータ 専用スタイル */

.shift-table td, .shift-table th {
  text-align: center;
  padding: 6px 10px;
}

.shift-table .col-day {
  font-variant-numeric: tabular-nums;
  color: var(--text-muted);
  font-weight: 600;
}

.shift-table .col-day.sat { color: #2d6ca8; }
.shift-table .col-day.sun { color: #b3261e; }

/* 勤務ごとの色分け */
.sh-day   { background: #fff6d6; color: #6b5200; }
.sh-eve   { background: #ffe3cc; color: #7a3d00; }
.sh-night { background: #dfe3f7; color: #2a3170; }
.sh-off   { background: var(--surface-2); color: var(--text-muted); }

@media (prefers-color-scheme: dark) {
  .sh-day   { background: #40391c; color: #f0dfa0; }
  .sh-eve   { background: #43301f; color: #f5c9a0; }
  .sh-night { background: #262c4a; color: #b8c0f0; }
  .shift-table .col-day.sat { color: #7fb0e0; }
  .shift-table .col-day.sun { color: #e2857f; }
}

/* 自分の班を目立たせる */
.shift-table .my-team {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
  font-weight: 700;
}

.shift-table tfoot td {
  border-top: 2px solid var(--border);
  background: var(--surface);
  font-size: .86rem;
  color: var(--text-muted);
  font-weight: 600;
}

.print-title { border: 0; margin-bottom: 12px; }
.print-sub {
  font-size: .82rem;
  font-weight: 400;
  color: var(--text-muted);
  margin-left: 10px;
}

@media print {
  .shift-table td, .shift-table th { padding: 3px 5px; font-size: 9.5pt; }
  .sh-day   { background: #fff6d6 !important; -webkit-print-color-adjust: exact; }
  .sh-eve   { background: #ffe3cc !important; -webkit-print-color-adjust: exact; }
  .sh-night { background: #dfe3f7 !important; -webkit-print-color-adjust: exact; }
  .sh-off   { background: #f0f0f0 !important; -webkit-print-color-adjust: exact; }
  .print-title { font-size: 14pt; }
  h2:not(.print-title), h3, p, .hint { display: none; }
}

@media (max-width: 600px) {
  .shift-table td, .shift-table th { padding: 5px 7px; font-size: .82rem; }
}
