/* Onglet Feuilles de temps — s'appuie sur les styles de l'onglet Chiffres (.pil), cantonné à .ts. */
.ts .pil-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ts .ts-upload{position:relative;display:inline-flex;align-items:center;font-size:13px;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:6px 14px;cursor:pointer;white-space:nowrap}
.ts .ts-upload:hover{background:var(--accent-dark)}
.ts .ts-upload:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.ts .ts-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.ts .ts-empty{padding:28px 4px;max-width:62ch}
.ts .ts-empty p{margin:0 0 8px}
.ts .ts-note{margin:10px 2px 28px;max-width:90ch}
.ts .ts-table{width:100%;border-collapse:collapse;font-size:13px}
.ts .ts-table th{font-weight:600;font-size:12px;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.ts .ts-table td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ts .ts-table tr:last-child td{border-bottom:0}
.ts .ts-table .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ts .ts-table tbody tr[data-staff]{cursor:pointer}
.ts .ts-table tbody tr[data-staff]:hover td{background:var(--accent-soft)}
.ts .ts-table tbody tr[data-staff]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ts .ts-table tbody tr.sel td{background:var(--accent-soft)}
.ts .neg{color:var(--warn)}
.ts .pos{color:var(--accent)}
.ts .ts-flag{display:inline-block;min-width:22px;padding:1px 8px;border-radius:999px;background:var(--warn-soft);color:var(--warn);font-weight:600;text-align:center}
.ts .ts-flag.small{font-size:11px;font-weight:500;padding:0 6px}
.ts .ts-ok{color:var(--muted);font-size:12px}
.ts .ts-detail{margin-top:8px}
.ts .ts-cols{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:900px){.ts .ts-cols{grid-template-columns:1fr}}
.ts .ts-cols h3{margin-top:0}
.ts .ts-alerts{margin:0 0 12px;padding-left:18px}
.ts .ts-alerts li{margin-bottom:6px;color:var(--warn)}
.ts .ts-infos{margin-bottom:12px;font-size:13px;color:var(--muted)}
.ts .ts-infos ul{padding-left:18px;margin:6px 0 0}
.ts .ts-days tr.week td{background:var(--paper);font-size:12px}
.ts .ts-days tr.sat td{color:var(--muted)}
.ts .ts-days tr.flag td:first-child{box-shadow:inset 3px 0 0 var(--warn)}
.ts .ts-code{display:inline-block;padding:1px 7px;border-radius:6px;font-size:11.5px;white-space:nowrap}
.ts .ts-import{padding:16px 16px 12px;margin-bottom:28px}
.ts .ts-import h3{margin:0 0 10px}
.ts .ts-import select{font:inherit;font-size:13px;padding:3px 6px;max-width:220px}
.ts .ts-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.ts .ts-actions button[disabled]{opacity:.5;cursor:default}
.ts button.ts-x{border:0;background:transparent;font-size:16px;line-height:1;padding:2px 6px;color:var(--muted)}
.ts button.ts-x:hover{color:var(--warn)}
.ts button.ts-del{margin-top:4px}
.ts .ts-table tfoot td{border-top:2px solid var(--line-strong);border-bottom:0;background:var(--paper)}
.ts a.ts-pdf{color:var(--accent);font-size:12px}
.ts a.ts-open{display:inline-flex;align-items:center;font-size:13px;color:var(--accent);background:var(--card);border:1px solid var(--accent);border-radius:999px;padding:6px 14px;text-decoration:none}
.ts a.ts-open:hover{background:var(--accent-soft)}
.ts a.ts-open:focus-visible,.ts a.ts-pdf:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ts .ts-table tfoot td{color:var(--ink);font-size:13px;text-align:left}
.ts .ts-table tfoot td.n{text-align:right}
