.tt-intro { padding: 2.5rem 0 1rem; }
.tt-intro h1 { margin: .4rem 0 .6rem; }
.tt-points { list-style: none; padding: 0; display: grid; gap: .5rem; margin: 1rem 0 0; }
.tt-points li { padding-left: 1.4rem; position: relative; }
.tt-points li::before { content: "✓"; position: absolute; left: 0; color: var(--accent-ink); font-weight: 700; }
.tt-tool, .tt-method { padding: 1.5rem 0; }
.tt-tool { border-top: 1px solid var(--line); }
.tt-load { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: 1rem 0; }
.tt-load label.btn { cursor: pointer; }
.tt-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tt-link { font-weight: 600; }
.tt-settings { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; }
.tt-settings label { display: grid; gap: .3rem; font-weight: 600; color: var(--ink); }
.tt-settings select, .tt-table select, .tt-table input { font: inherit; padding: .4rem .5rem; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); }
.tt-table input { width: 5.5rem; }
.tt-note { color: var(--muted); font-size: .92rem; }
.tt-scroll { overflow-x: auto; }
.tt-table { border-collapse: collapse; width: 100%; font-size: .94rem; margin: .5rem 0 1rem; }
.tt-table th, .tt-table td { text-align: left; padding: .45rem .6rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.tt-table th { color: var(--ink); background: var(--bg-soft); }
.tt-table td.num, .tt-table th.num { text-align: right; font-variant-numeric: tabular-nums; }
.tt-table tr.tt-total td { font-weight: 700; }
.tt-emps { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; }
.tt-issues { list-style: none; padding: 0; display: grid; gap: .4rem; }
.tt-issues li { padding: .5rem .75rem; border-radius: 8px; background: var(--bg-soft); border-left: 4px solid var(--muted); }
.tt-issues li.error { border-left-color: #dc2626; }
.tt-issues li.warn { border-left-color: #d97706; }
.tt-weeks summary { cursor: pointer; font-weight: 600; margin: .5rem 0; }
.tt-sources { font-size: .92rem; color: var(--muted); }
.tt-incomplete { color: #b45309; font-weight: 600; }
.tt-settings label.tt-check { display: flex; align-items: center; gap: .5rem; align-self: end; padding-bottom: .45rem; }
.tt-settings label.tt-check input { width: 1.05rem; height: 1.05rem; margin: 0; }
#totals td:last-child { min-width: 12rem; }
