/* /hours/ only: the timesheet grid. Inputs shrink with their column. */
.ts-table { border-collapse: collapse; width: 100%; font-size: 0.9rem; }
.ts-table th, .ts-table td { text-align: left; padding: 0.3rem 0.4rem; border-bottom: 1px solid var(--line); }
.ts-table thead th, .ts-table tfoot th {
  font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-soft);
}
.ts-table tfoot th, .ts-table tfoot td { border-bottom: none; font-weight: 700; }
.ts-in {
  font: inherit; font-size: 1rem; width: 100%; min-width: 3.5rem; min-height: var(--tap);
  padding: 0.3rem 0.4rem; border: 1px solid var(--line-strong); border-radius: var(--radius);
  background: var(--panel); color: var(--ink);
}

/* The break column holds three digits. */
.ts-in.ts-brk { min-width: 2.75rem; max-width: 5rem; }

/* Print the one-shift answer; no printable timesheet (plan 12.9). */
@media print { .dc-month { display: none !important; } }

/* Caslon sets wider than the old sans: on a phone the grid closes up so the
   Hours column fits without scrolling sideways. */
@media (max-width: 560px) {
  .ts-table th, .ts-table td { padding: 0.3rem 0.22rem; }
  .ts-table thead th, .ts-table tfoot th { font-size: 0.68rem; letter-spacing: 0.03em; }
  .ts-table tbody th { font-size: 0.86rem; }
  .ts-table td:last-child, #ts-total { white-space: nowrap; }
}
