.timesheets-project{--ts-line:var(--line,#d8dce5);--ts-bg:var(--panel,#fff);--ts-soft:var(--surface,#f5f6f9);--ts-ink:var(--ink,#202b3c);--ts-muted:var(--muted,#657086);--ts-red:var(--red,#a82f32);color:var(--ts-ink);max-width:1800px;margin:0 auto;min-width:0}
.ts-heading{display:flex;align-items:center;gap:18px;justify-content:space-between;flex-wrap:wrap;margin:12px 0}.ts-heading h1{font-size:20px;margin:0;border-left:4px solid var(--ts-red);padding-left:10px}.ts-nav,.ts-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ts-nav{justify-content:flex-end}.ts-status{line-height:1.45;margin:10px 0;min-height:1.3em}.ts-status:empty{display:none}.timesheets-project button,.ts-more summary{background:var(--ts-soft);color:var(--ts-ink);border:1px solid var(--ts-line);font:inherit;font-size:13px;line-height:1.3;font-weight:600;border-radius:7px;min-height:34px;padding:7px 11px;cursor:pointer}.timesheets-project button:disabled{opacity:.5;cursor:default}.timesheets-project button.ts-primary,.timesheets-project button.selected{background:var(--ts-red);color:#fff;border-color:transparent}.timesheets-project button:focus-visible,.timesheets-project input:focus-visible,.timesheets-project select:focus-visible,.timesheets-project textarea:focus-visible,.ts-more summary:focus-visible{outline:2px solid var(--accent,#315a9c);outline-offset:2px}.ts-more{position:relative}.ts-more summary{list-style:none}.ts-more summary::after{content:' ▾'}.ts-more[open]{z-index:4}.ts-more[open]>button{display:block;position:absolute;right:0;top:38px;min-width:160px;background:var(--ts-bg);box-shadow:0 3px 12px #0002}.ts-more[open]>button+button{top:73px}.ts-panel{background:var(--ts-bg);border:1px solid var(--ts-line);border-radius:10px;padding:18px;margin:12px 0;min-width:0;box-shadow:0 2px 3px #0001}.ts-panel h2,.ts-modal h2{font-size:17px;line-height:1.4;margin:8px 0 12px}.ts-panel h3,.ts-modal h3{font-size:14px;margin:14px 0 8px}.ts-help{font-size:12px;color:var(--ts-muted);line-height:1.6;margin:7px 0 12px}.ts-empty{padding:22px 8px;color:var(--ts-muted);text-align:center}.ts-actions{margin:10px 0}.ts-actions>.ts-field{min-width:180px}.ts-week-controls{margin:0 0 18px}.ts-field{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:0;margin:4px 0 10px}.ts-field>span{font-weight:600;color:var(--ts-muted)}.ts-field input,.ts-field select,.ts-field textarea{font:inherit;color:var(--ts-ink);border:1px solid var(--ts-line);background:var(--ts-soft);border-radius:6px;min-height:38px;padding:8px 9px;box-sizing:border-box;max-width:100%;width:100%}.ts-field textarea{resize:vertical;min-height:64px}.ts-field input:disabled,.ts-field select:disabled,.ts-field textarea:disabled{opacity:.75}.ts-check{display:inline-flex;align-items:center;gap:7px;font-size:11px;line-height:1.3;color:var(--ts-muted);font-weight:600}.ts-check input{order:-1;width:17px;height:17px;margin:0;accent-color:var(--ts-red)}.ts-sheet-card{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--ts-line);border-radius:10px;padding:15px;margin:10px 0}.ts-sheet-card>div{min-width:0}.timesheets-project .ts-card-title,.timesheets-project .ts-text-button{background:transparent;border:0;padding:0;min-height:22px;text-align:left;font-weight:700;line-height:1.5;color:inherit}.ts-card-title{font-size:14px!important}.ts-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:4px;font-size:12px;color:var(--ts-muted)}.timesheets-project .ts-card-open{background:transparent;border:0;white-space:nowrap;font-weight:400}.ts-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:14px;font-size:11px;line-height:1.2;font-weight:700;margin:0 4px}.ts-approved{background:#21814525;color:#2d8b4b}.ts-submitted{background:#426fd92b;color:var(--accent,#3f60b2)}.ts-draft,.ts-returned,.ts-discarded{background:var(--ts-soft);color:var(--ts-muted)}.ts-danger{color:var(--ts-red);font-size:12px}.ts-sheet-heading{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--ts-line);padding-bottom:10px}.ts-sheet-heading>div:nth-child(2){flex:1;min-width:180px}.ts-sheet-heading h2{margin:0 0 4px}.ts-sheet-heading span{font-size:12px}.ts-table-scroll{overflow-x:auto;max-width:100%;position:relative;margin:8px 0}.timesheets-project table{width:100%;border-collapse:collapse;font-size:12px}.timesheets-project th,.timesheets-project td{padding:9px 8px;border-bottom:1px solid var(--ts-line);text-align:left;vertical-align:middle}.timesheets-project th{font-size:10px;text-transform:uppercase;letter-spacing:.02em;color:var(--ts-muted);white-space:nowrap}.ts-crew-grid table{min-width:1130px}.ts-crew-grid td,.ts-crew-grid th{border-right:1px solid var(--ts-line);padding:5px}.ts-crew-grid th{height:34px;text-align:center}.ts-crew-grid th:first-child{text-align:left}.ts-crew-grid td:first-child{min-width:150px;font-weight:700}.ts-crew-grid td:nth-child(2),.ts-crew-grid td:nth-child(3){min-width:120px}.ts-crew-grid td:nth-child(7){min-width:74px;max-width:90px}.ts-crew-grid td:nth-child(8){min-width:70px}.ts-crew-grid td:nth-child(9){min-width:100px}.ts-crew-grid .ts-field{margin:0}.ts-crew-grid .ts-field>span,.ts-crew-grid .ts-check>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ts-crew-grid .ts-check{display:flex;justify-content:center}.ts-crew-grid .ts-field select{padding:8px 5px}.ts-crew-grid td[colspan] textarea{max-width:520px;min-height:40px}.ts-person-role,.ts-temp{display:block;font-size:10px;font-weight:400;margin-top:5px;color:var(--ts-muted)}.ts-temp{color:#b57b1d}.timesheets-project button.ts-signed{background:#21814520;color:#2d8b4b;border-color:#21814566}.ts-crew-total{text-align:right;font-size:12px;font-weight:700;margin:12px 0}.ts-notice,.ts-corrections{padding:12px;border:1px solid #b7843f;background:color-mix(in srgb,#bb8b46 9%,var(--ts-bg));border-radius:7px;line-height:1.5;font-size:12px;margin:10px 0}.ts-corrections details{margin-top:6px}.ts-corrections ul{padding-left:20px}.ts-corrections li{padding:4px 0}.ts-saved-summary{white-space:pre-wrap}.ts-week-day{border:1px solid var(--ts-line);border-radius:8px;padding:13px;margin:12px 0}.ts-day-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.ts-day-heading h3{margin:0 0 13px}.ts-day-heading strong{font-size:12px}.ts-week-entry{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:6px 0}.ts-week-checks{grid-column:1/-1;display:flex;align-items:center;gap:30px;padding:2px 0 12px}.ts-week-checks>.ts-check{flex:1}.ts-leave{display:flex;align-items:end;gap:16px;flex-wrap:wrap;border-top:1px solid var(--ts-line);padding-top:12px;margin-top:12px}.ts-leave>.ts-field{width:130px}.ts-leave .ts-help{margin-bottom:18px}.ts-allocation{border:1px solid var(--ts-line);border-radius:8px;padding:12px;margin-top:20px}.ts-allocation table td:not(:first-child),.ts-allocation table th:not(:first-child){text-align:right}.ts-allocation tbody tr:last-child{font-weight:700}.ts-missing-row{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:7px 8px;border-bottom:1px solid var(--ts-line);font-size:12px}.ts-missing-row span{color:var(--ts-muted);font-size:11px}.ts-missing-row>.ts-danger{text-align:right}.ts-missing-list{margin-bottom:24px}.ts-report-dates{display:grid;gap:8px}.ts-report-dates>.ts-field{width:100%}.ts-modal-backdrop{position:fixed;z-index:1000;inset:0;background:#0008;display:flex;align-items:center;justify-content:center;padding:18px}.ts-modal{box-sizing:border-box;max-width:800px;width:100%;max-height:90vh;overflow:auto;background:var(--ts-bg);border:1px solid var(--ts-line);border-radius:10px;padding:18px;box-shadow:0 20px 80px #0006}.ts-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ts-line);padding-bottom:8px;margin-bottom:15px}.ts-modal-heading h2{margin:0}.ts-signature-image,.ts-signature-canvas{display:block;box-sizing:border-box;width:100%;max-width:640px;height:auto;border:1px solid var(--ts-line);border-radius:6px;background:#fff;margin:14px 0}.ts-signature-canvas{touch-action:none;aspect-ratio:640/180}.ts-history-item{padding:10px 0;border-bottom:1px solid var(--ts-line)}
@media(max-width:850px){.ts-heading{align-items:flex-start}.ts-nav{justify-content:flex-start}.ts-panel{padding:13px}.ts-week-entry{grid-template-columns:1fr 1fr}.ts-week-entry>.ts-field:first-child{grid-column:1/-1}.ts-sheet-card{padding:12px}.ts-missing-row{align-items:flex-start;flex-wrap:wrap}.ts-missing-row>.ts-danger{flex-basis:100%;text-align:left}.ts-crew-grid{padding-bottom:8px}.ts-modal-backdrop{padding:8px}.ts-modal{padding:13px;max-height:94vh}}
@media(max-width:520px){.ts-nav{gap:5px}.ts-nav button,.ts-more summary{font-size:11px;padding:7px 8px}.ts-sheet-card{align-items:flex-start}.ts-card-open{max-width:75px;white-space:normal!important}.ts-actions>.ts-field{flex:1;min-width:150px}.ts-sheet-heading>div:nth-child(2){min-width:160px}.ts-panel{padding:11px}.ts-week-controls{gap:5px}.ts-week-controls strong{font-size:12px}.ts-week-day{padding:10px}.ts-leave{gap:10px}.ts-leave>.ts-field{width:110px}.ts-leave .ts-help{margin:0 0 8px}.ts-check{font-size:10px}.ts-week-checks{gap:12px}.ts-modal .ts-sheet-card{display:block}.ts-week-entry{gap:8px}}
@media print{.ts-nav,.ts-actions,.ts-modal-backdrop,.ts-status,.timesheets-project button{display:none!important}.ts-panel{border-color:#aaa;box-shadow:none}.ts-table-scroll{overflow:visible}.ts-crew-grid table{min-width:0}.ts-week-day{break-inside:avoid}.timesheets-project{max-width:none}}
