/* みんなのシフト（/calendar）。色・余白は staff.css の :root の変数だけ。2026-10-14 */
[hidden] { display: none !important; }
.calendar-note { margin: 0 0 var(--space-2); }
.tc-cal-legend { display: flex; gap: var(--space-2); justify-content: flex-end; margin: 0 0 var(--space-2); }
.tc-cal-week, .tc-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.tc-cal-week { margin-bottom: var(--space-1); text-align: center; font-size: var(--font-min); color: var(--ink-sub); }
.tc-cal-week span:first-child { color: var(--caution); }
.tc-cal-grid { gap: 2px; background: var(--line); border: var(--card-border); border-radius: var(--radius-s); overflow: hidden; }
.tc-cal-cell { display: flex; flex-direction: column; align-items: stretch; gap: 2px; min-height: 76px; padding: 3px 2px 4px; border: 0; background: var(--surface); color: var(--ink); font: inherit; text-align: left; }
.tc-cal-cell.is-blank { background: var(--bg); }
.tc-cal-cell.is-past { background: var(--bg); }
.tc-cal-cell.is-past .tc-cal-tag { opacity: .55; }
.tc-cal-cell.is-closed { background: var(--closed-bg); }
.tc-cal-cell.is-selected { box-shadow: inset 0 0 0 2px var(--ink); }
.tc-cal-date { align-self: flex-start; min-width: 22px; padding: 0 3px; border-radius: 999px; font-size: var(--font-min); font-weight: var(--weight-bold); line-height: 20px; text-align: center; }
.tc-cal-date.is-sun { color: var(--caution); }
.tc-cal-cell.is-today .tc-cal-date { background: var(--ok); color: var(--on-primary); }
.tc-cal-tag { display: block; padding: 0 2px; border-radius: 4px; font-size: 11px; font-weight: var(--weight-bold); line-height: 16px; text-align: center; white-space: nowrap; overflow: hidden; }
.tc-cal-legend .tc-cal-tag { display: inline-block; padding: 0 var(--space-2); }
.tc-kind-early { background: var(--ok); color: var(--on-primary); }
.tc-kind-late { background: var(--ink); color: var(--on-primary); }
.tc-kind-other { background: var(--surface); color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.tc-cal-more { font-size: 10px; color: var(--ink-sub); text-align: center; line-height: 14px; }
.tc-cal-closed { font-size: 11px; color: var(--ink-sub); text-align: center; }
.tc-day-detail { margin-top: var(--space-4); }
.tc-day-list { list-style: none; margin: 0; padding: 0; }
.tc-day-row { display: flex; align-items: center; gap: var(--space-3); min-height: var(--tap); border-top: 1px solid var(--closed-bg); }
.tc-day-row:first-child { border-top: 0; }
.tc-day-row .tc-cal-tag { flex: none; min-width: 4.5em; font-size: var(--font-min); line-height: 22px; border-radius: 999px; }
.tc-day-time { flex: none; min-width: 6.5em; font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; }
.tc-day-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tc-day-detail .sub-text { margin: 0; }
