.weekly-statistics { min-width: 0; }
.weekly-toolbar { gap: 12px; align-items: center; }
.weekly-toolbar .toolbar-controls { gap: 8px; flex-wrap: wrap; }
.weekly-toolbar .compact-field > span { white-space: nowrap; }
.weekly-team-field { min-width: 200px; max-width: 280px; }
.weekly-team-field[hidden] { display: none; }
.weekly-team-field select { width: 100%; min-width: 0; text-overflow: ellipsis; }
.weekly-navigation { display: flex; gap: 4px; }
.weekly-navigation [data-weekly="previous"],
.weekly-navigation [data-weekly="next"] { min-width: 32px; padding-inline: 8px; }
.weekly-range { margin: 0; color: var(--text); font-variant-numeric: tabular-nums; }
.weekly-basis, .weekly-updated { margin: 10px 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.weekly-scroll { max-width: 100%; overflow: auto; border: 1px solid var(--border); border-radius: 5px; }
.weekly-table { width: 100%; min-width: 1000px; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
.weekly-table caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.weekly-table th, .weekly-table td { padding: 10px 12px; font-weight: 400; text-align: right; white-space: nowrap; }
.weekly-table tr > :first-child { position: sticky; left: 0; z-index: 1; width: 250px; min-width: 200px; max-width: 300px; text-align: left; background: var(--surface); border-right: 1px solid var(--border); white-space: normal; overflow-wrap: anywhere; }
.weekly-table th > span { display: block; }
.weekly-table th > small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 400; }
.weekly-table thead th, .weekly-table tfoot th, .weekly-table tfoot td { background: var(--surface-alt); }
.weekly-table thead tr > :first-child, .weekly-table tfoot tr > :first-child { background: var(--surface-alt); }
.weekly-table tbody tr:hover > :first-child { background: var(--surface-hover); }
.weekly-table .weekly-total { border-left: 1px solid var(--border); color: var(--text); }
.weekly-table .weekly-zero { color: var(--muted); }
.weekly-table tfoot > tr > * { border-top: 1px solid var(--border); border-bottom: 0; }
.weekly-state { min-height: 150px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; padding: 22px; background: var(--surface); border-radius: 5px; color: var(--muted); }
.weekly-state p { margin: 0; }
@media (max-width: 600px) {
  .weekly-toolbar { align-items: flex-start; }
  .weekly-table tr > :first-child { width: 170px; min-width: 170px; max-width: 170px; }
  .weekly-toolbar .compact-field { min-width: 150px; }
  .weekly-toolbar .weekly-team-field { flex: 1 1 200px; max-width: 100%; }
}
