
#timesheets .ts-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
#timesheets .ts-tabs button{padding:9px 12px;border:1px solid #b8cbb8;border-radius:10px;background:#fff;color:#174b2b;font-weight:800}
#timesheets .ts-tabs button.sel{background:#24713d;color:#fff}
#timesheets .ts-page{display:none}#timesheets .ts-page.show{display:block}
#timesheets .ts-grid{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:10px}
#timesheets .ts-card{border:1px solid #d7e2d7;background:#fff;border-radius:14px;padding:13px}
#timesheets .ts-card b{display:block;font-size:1.35rem;color:#174b2b}
#timesheets .ts-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px}
#timesheets .ts-form label{display:flex;flex-direction:column;gap:4px;font-weight:700}
#timesheets .ts-form input,#timesheets .ts-form select,#timesheets .ts-form textarea,#timesheets .ts-toolbar input,#timesheets .ts-toolbar select{padding:9px;border:1px solid #c8d4c8;border-radius:9px;background:#fff}
#timesheets .ts-wide{grid-column:span 2}.ts-full{grid-column:1/-1}
#timesheets .ts-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
#timesheets button.primary{background:#24713d;color:#fff;border:0;border-radius:9px;padding:10px 13px;font-weight:800}
#timesheets button.secondary{background:#fff;color:#205d35;border:1px solid #9fc3a7;border-radius:9px;padding:9px 12px;font-weight:800}
#timesheets button.danger{background:#fff;color:#a52020;border:1px solid #d6a0a0;border-radius:9px;padding:8px 10px;font-weight:800}
#timesheets table{width:100%;border-collapse:collapse;font-size:.9rem}
#timesheets th,#timesheets td{padding:8px;border-bottom:1px solid #e2e9e2;text-align:left;vertical-align:top}
#timesheets th{background:#f0f6f0;position:sticky;top:0;z-index:2}
#timesheets .ts-table{max-height:650px;overflow:auto;border:1px solid #dce6dc;border-radius:12px}
#timesheets .ts-note{background:#f5faf5;border:1px solid #d7e6d7;border-radius:12px;padding:11px}
#timesheets .ts-open{background:#fff8df}.ts-approved{background:#f2faf2}
#timesheets .ts-pill{display:inline-block;padding:3px 7px;border-radius:999px;background:#e7f1e7;font-size:.78rem;font-weight:800}
#timesheets .ts-warn{color:#b42318;font-weight:900}
#timesheets .ts-ok{color:#19723a;font-weight:900}
@media(max-width:900px){#timesheets .ts-grid{grid-template-columns:repeat(2,1fr)}#timesheets .ts-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){#timesheets .ts-grid,#timesheets .ts-form{grid-template-columns:1fr}}

#timesheets .ts-app-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#f3f9f2;border:1px solid #d3e4d4;border-radius:14px;padding:14px;margin-bottom:12px}
#timesheets .ts-app-icon{width:68px;height:68px;border-radius:16px;object-fit:cover;box-shadow:0 2px 8px rgba(0,0,0,.18)}
#timesheets .ts-mini{font-size:.8rem;color:#667268}
