/* Timesheets layout uses the existing PayHr palette and shared field/button styles. */
.timesheets-heading { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:var(--space-md); margin-bottom:var(--space-xl); }
.timesheets-heading h1 { margin:0; }
.timesheets-heading p { margin:var(--space-xs) 0 0; color:var(--color-muted); }
.timesheets-heading > a { min-height:44px; display:inline-flex; align-items:center; }
.timesheets-surface { border:1px solid var(--color-rule); border-radius:var(--radius-input); background:var(--color-paper); min-width:0; overflow:hidden; }
.timesheets-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--space-md); padding:var(--space-lg); border-bottom:1px solid var(--color-rule); }
.timesheets-page .timesheet-week { display:flex; justify-content:flex-start; align-items:center; gap:var(--space-sm); padding:0; border:0; border-radius:0; margin:0; }
.timesheets-page .timesheet-week-arrow { padding-inline:var(--space-sm); min-width:44px; }
.timesheet-week-label { line-height:1.5; }
.timesheet-week-label strong { font-size:14px; }
.timesheet-week-label small { display:block; color:var(--color-muted); font-size:12px; }
.timesheets-copy-actions { display:flex; flex-wrap:wrap; gap:var(--space-xs); }
.timesheets-copy-actions .secondary { width:auto; }
.timesheets-summary { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; padding:var(--space-sm) var(--space-lg); gap:var(--space-sm); }
.timesheets-summary p { margin:0; font-size:14px; color:var(--color-muted); }
.timesheets-summary strong { color:var(--color-ink); font-weight:600; }
.timesheets-summary .text-button { min-height:44px; }
.timesheets-page .timesheets-scroll { margin:0; border:0; border-radius:0; }
.timesheet-table-caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.timesheets-page .timesheet-table { margin:0; min-width:1000px; }
.timesheets-page .timesheet-table :is(th,td) { padding:var(--space-sm) var(--space-xs); }
.timesheets-page .timesheet-table th:first-child { padding-left:var(--space-lg); }
.timesheets-page .timesheet-table thead th { border-top:1px solid var(--color-rule); }
.timesheets-page .timesheet-table thead th > span { display:block; font-weight:400; color:var(--color-muted); font-size:12px; }
.timesheets-page .timesheet-table thead th > strong { display:block; font-size:18px; margin-top:var(--space-2xs, 4px); }
.timesheets-page .timesheet-table :is(th,td):first-child { position:sticky; left:0; z-index:1; background:var(--color-paper); }
.timesheets-page .timesheet-table :is(th,td):last-child { position:sticky; right:0; z-index:1; background:var(--color-paper); width:96px; }
.timesheets-page .timesheet-table thead :is(th:first-child,th:last-child) { z-index:2; }
.timesheets-page .timesheet-table .timesheet-weekend { background:var(--color-surface-muted); }
.timesheets-page .timesheet-table th.timesheet-today { color:var(--color-accent); background:var(--color-selection); }
.timesheets-page .timesheet-name { font-size:14px; font-weight:600; }
.timesheets-page .timesheet-name .text-button { min-width:44px; min-height:44px; flex-shrink:0; }
.timesheets-page .timesheet-category-row th:first-child { padding-left:var(--space-xl); font-size:13px; font-weight:500; }
.timesheets-page .timesheet-table input[type=number] { text-align:center; font-variant-numeric:tabular-nums; }
.timesheets-page .timesheet-table tfoot :is(th,td) { border-top:1px solid var(--color-rule); font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.timesheets-page .timesheets-help { margin:0; padding:var(--space-md) var(--space-lg); border-top:1px solid var(--color-rule); font-size:12px; line-height:1.6; }
.timesheets-page .timesheet-actions { position:sticky; bottom:0; z-index:3; justify-content:space-between; align-items:center; background:var(--color-paper); border-top:1px solid var(--color-rule); margin-top:var(--space-lg); padding:var(--space-md) 0; }
.timesheet-save-status { margin:0; font-size:14px; color:var(--color-muted); }
.timesheet-save-buttons { display:flex; flex-wrap:wrap; gap:var(--space-sm); }
@media(max-width:600px) {
  .timesheets-toolbar { padding:var(--space-md); }
  .timesheets-copy-actions { width:100%; }
  .timesheets-copy-actions .secondary { flex:1; font-size:12px; padding-inline:var(--space-sm); }
  .timesheets-summary { padding:var(--space-sm) var(--space-md); }
  .timesheets-summary p { font-size:12px; }
  .timesheets-page .timesheet-table { min-width:850px; }
  .timesheets-page .timesheet-table th:first-child { width:180px; }
  .timesheets-page .timesheet-table :is(th,td):last-child { width:72px; }
  .timesheets-page .timesheet-table th small { font-size:11px; }
  .timesheets-page .timesheets-help { padding:var(--space-md); }
  .timesheet-save-buttons { width:100%; }
  .timesheet-save-buttons > :is(a,button) { flex:1; }
}
