/* J15 Timesheets (copied from the J11a stylesheet, prefix renamed) additions on top of the shell styles (style.css, base.css, shell.css). Normal Hisense teal, original logo, red DEV badge. */
.ts h1{margin:0;font-size:30px}
.ts .ph{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-end;margin-bottom:18px}.ts .ph p{margin:6px 0 0;font-size:13px;max-width:820px}.ts .ph .acts{display:flex;gap:10px}
.ts .summary{grid-template-columns:repeat(5,1fr);margin:0 0 16px}.ts .summary .clk{cursor:pointer}.ts .summary .clk:hover{border-color:var(--teal)}
.ts table.grid{min-width:0}.ts tr.link{cursor:pointer}.ts .toolbar{gap:10px}.ts .toolbar input[type=search]{min-width:300px}
.ts .toolbar input,.ts .toolbar select{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:#fff;color:var(--ink)}
.ts .rowact .btn{padding:6px 10px;font-size:12px;margin-left:4px}
.ts .btn.link{padding:0;font-weight:700;text-align:left}
.kind{display:inline-block;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;letter-spacing:.3px}
.kind.resignation{background:#e8eefb;color:#2c4a8a}.kind.contract_ended{background:#f1e9f7;color:#59307a}.kind.dismissal{background:#fdecea;color:#7a1a14}.kind.retirement{background:#e2f3ef;color:#006b63}.kind.other{background:#eef2f2;color:#4a5f64}
.sub2{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.crumbs{font-size:12px;margin-bottom:10px}.crumbs a{color:var(--teal-dk);text-decoration:underline;cursor:pointer}
.pcard{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:14px;flex-wrap:wrap}
.pcard .avatar{width:54px;height:54px;font-size:18px;display:inline-grid;place-items:center}.pcard h1{font-size:26px}.pcard small{color:var(--muted)}.pcard .grow{flex:1;min-width:260px}.pcard .btn{margin-left:2px}
.ts .card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 20px 14px;margin-bottom:14px;display:block}.ts .card h2{font-size:15px;margin:16px 0 8px}
.kv{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 24px;margin:8px 0}.kv div b{display:block;font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.4px;text-transform:uppercase}.kv div span{font-size:14px}
.hist{list-style:none;margin:0;padding:0}.hist li{display:flex;gap:14px;padding:9px 0;border-top:1px solid #eef2f2;font-size:13px}.hist li:first-child{border-top:0}.hist time{min-width:110px;color:var(--muted);font-size:12px}
.hint{font-size:12px;color:var(--muted);margin:12px 0 16px}
.big{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:8px 0 4px}.big div{border:1px solid var(--line);border-radius:10px;padding:12px 14px}.big strong{display:block;font-size:26px}.big span{font-size:12px;color:var(--muted)}
.pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:10px;font-size:12px;color:var(--muted)}
.steps{list-style:none;display:flex;margin:10px 0 0;padding:0;gap:0}.steps li{flex:1;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);position:relative;padding-right:10px}
.steps li i{font-style:normal;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:inline-grid;place-items:center;font-size:12px;font-weight:700;background:#fff}
.steps li:not(:last-child)::after{content:'';flex:1;height:2px;background:var(--line);margin-left:6px}
.steps li.done{color:var(--teal-dk)}.steps li.done i{background:var(--teal);border-color:var(--teal);color:#fff}.steps li.done::after{background:var(--teal)}
.steps li.now{color:var(--ink);font-weight:700}.steps li.now i{border-color:var(--teal);color:var(--teal-dk)}
.drawer textarea,.drawer input,.drawer select{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;width:100%;background:#fff}
.drawer .preview{background:#f5f9f9;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:10px}.drawer .preview ul{margin:6px 0 0;padding-left:18px}

.ts .banner.info ul.flags{margin:6px 0 0;padding:0;list-style:none}.ts .banner.info ul.flags li{margin:4px 0;font-size:13px}.ts .banner.info ul.flags .btn{padding:4px 10px;font-size:12px;margin-left:8px}
.ts .strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.ts .strip .lbl{font-size:11px;color:var(--muted);letter-spacing:.4px;margin-right:2px}
.ts .kpi{font:inherit;display:flex;gap:8px;align-items:baseline;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 16px;cursor:pointer}.ts .kpi b{font-size:22px}.ts .kpi span{font-size:12px;color:var(--muted)}.ts .kpi[aria-pressed=true]{outline:2px solid var(--teal);outline-offset:1px}
.ts .tag{font-size:11px;color:#8a5200;background:#fff4e0;border-radius:6px;padding:1px 7px;margin-left:6px;font-weight:700;white-space:nowrap}.ts .tag.bad{background:var(--bad-bg);color:#7a1a14}
.ts table.ck{min-width:0;margin-bottom:6px}.ts table.ck td{padding:8px 10px}.ts .muted{color:var(--muted);font-size:12px}
.ts ul.blk{margin:4px 0 0;padding-left:18px;font-size:13px;color:#7a4a00}
.ts .big{grid-template-columns:repeat(4,1fr)}.ts .field small{color:var(--muted);font-size:11px}
.ts table.ck{table-layout:fixed;width:100%}.ts table.ck td:nth-child(1){width:34%}.ts table.ck td:nth-child(2){width:14%}.ts table.ck td:nth-child(3){width:30%}.ts table.ck td:nth-child(4){width:22%;text-align:right}
.ts .weeknav{display:flex;gap:14px;align-items:center;margin:0 0 12px}.ts .weeknav b{font-size:15px}
.ts table.tsg{min-width:0}.ts table.tsg td,.ts table.tsg th{padding:7px 8px}.ts table.tsg th.we,.ts table.tsg td.we{background:#f7f9f9}
.ts table.tsg input{width:62px;text-align:right;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:#fff;font-variant-numeric:tabular-nums}
.ts table.tsg input.bad,.ts table.tsg select.bad{border-color:var(--bad);background:#fffafa}
.ts table.tsg select{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:6px;padding:7px 8px;width:100%;min-width:230px;background:#fff}
.ts table.tsg tfoot td{font-weight:700;background:#f5f9f9;border-top:2px solid var(--line)}
.ts .err{display:block;color:var(--bad);font-size:11px;margin-top:3px}.ts .dim{color:#5f7379}.ts .why{font-size:12px;color:#7a4a00}
.ts .foot2{display:flex;gap:10px;align-items:center;margin:12px 0}.ts .hint.warn{color:#7a4a00}
.ts h2.th{font-size:16px;margin:22px 0 10px}
.ts .banner.ok{background:#e6f4ee;border-left:3px solid #2e9e6b;color:#1c5c3f}

:root{--muted:#55696f}
