.tl-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.tl-heading h2{font-size:22px;margin:0 auto 0 0}.tl-heading input{width:230px}.tl-camera-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:20px}.tl-camera{border:1px solid var(--line);border-radius:8px;padding:0;overflow:hidden;background:white;color:var(--ink);text-align:left;min-width:0;cursor:pointer}.tl-camera-picture{aspect-ratio:16/9;background:#e8eff2;position:relative;display:grid;place-items:center;overflow:hidden}.tl-camera-picture img{width:100%;height:100%;object-fit:cover}.tl-camera-picture>svg{width:44px;height:44px;color:#607c8b}.tl-camera-picture>span{position:absolute;bottom:10px;left:10px;background:#102b3ce6;color:white;font-size:12px;padding:5px 8px;border-radius:4px}.tl-camera-name{display:flex;align-items:center;gap:12px;padding:16px}.tl-camera-name svg{width:24px;height:24px;color:#119fa9;flex-shrink:0}.tl-camera-name div{flex:1;min-width:0}.tl-camera-name strong,.tl-camera-name small{display:block;overflow-wrap:anywhere}.tl-camera-name small{margin-top:5px;color:#71869b}.tl-camera-status{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);margin:0 16px;padding:13px 0;font-size:12px}.tl-camera:hover{border-color:#0bb3bf}.tl-overlay{position:fixed;inset:0;z-index:1100;background:#102c3a66;display:flex;justify-content:flex-end;padding:12px}.tl-drawer{width:min(860px,85vw);background:white;border-radius:8px;display:flex;flex-direction:column;min-height:0;overflow:hidden;box-shadow:0 10px 45px #122b3c33}.tl-drawer>header{background:#0d283b;color:white;display:flex;align-items:center;gap:10px;padding:12px 16px}.tl-drawer>header>div{flex:1;min-width:0}.tl-drawer h2{font-size:18px;margin:0;overflow-wrap:anywhere}.tl-drawer header small{font-size:11px;color:#b6cdd8}.tl-drawer header button{color:white;font-size:13px;padding:8px 10px;display:flex;gap:5px;align-items:center}.tl-drawer header svg{height:18px;width:18px}.tl-tabs,.tl-filters,.tl-schedule{display:flex;gap:14px;align-items:center;padding:12px 16px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.tl-tabs button{background:none;border:0;padding:8px;color:#537082;cursor:pointer}.tl-tabs button[aria-selected=true]{background:#0d929c;color:white;border-radius:4px}.tl-scroll{overflow-y:auto;min-height:0;flex:1}.tl-player{width:100%;height:370px;max-height:370px;background:#07121b;display:grid;place-items:center;color:#b7cbd6}.tl-player video{width:100%;height:100%;max-height:370px;object-fit:contain}.tl-player:has(video)>span:empty{display:none}.tl-schedule label,.tl-check{display:flex!important;align-items:center;gap:8px}.tl-schedule input,.tl-check input{width:auto}.tl-filters select{width:auto}.tl-filters span{margin-left:auto;color:#6a8091;font-size:12px}.tl-job{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:8px;margin:12px 16px}.tl-job.selected{border-color:#0daeb8}.tl-job-open{display:flex;gap:10px;flex:1;min-width:170px;border:0;background:none;text-align:left;padding:0;color:#12334a;cursor:pointer}.tl-job-open:disabled{opacity:1;cursor:default}.tl-job-open svg{width:26px;height:26px;flex-shrink:0}.tl-job-open div{min-width:0}.tl-job strong{font-size:14px;overflow-wrap:anywhere}.tl-job small{display:block;font-size:11px;color:#6b8194;margin-top:4px}.tl-job p{width:100%;font-size:12px;margin:0}.tl-job a{font-size:12px}.tl-status{font-size:12px;text-transform:capitalize;color:#627a90}.tl-status.ready{color:#00895e}.tl-status.failed{color:#c52a4c}.tl-status.running{color:#2471c3}.tl-status.queued{color:#94650a}.tl-drawer footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--line);background:white;font-size:12px}.tl-drawer footer button{font-size:13px}.tl-form{display:flex;flex-direction:column;min-height:0;flex:1}.tl-form>.tl-scroll{padding:20px}.tl-form label,.tl-settings label{display:block;font-size:13px;color:#4f6578;margin-bottom:18px}.tl-form label input,.tl-form label select,.tl-settings select{margin-top:7px;width:100%;min-width:0}.tl-form input[type=checkbox]{width:auto;margin:0}.tl-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.tl-form-row>*{min-width:0}.tl-form-row[hidden],.tl-camera[hidden]{display:none}.tl-settings{max-width:450px}.tl-empty{padding:28px;text-align:center;color:#6f879a}#tlNotice{font-size:12px;color:#657c8d}.tl-job-open:focus-visible,.tl-camera:focus-visible{outline:3px solid #0bb3bf;outline-offset:2px}@media(max-width:650px){.tl-overlay{padding:0}.tl-drawer{width:100%;border-radius:0}.tl-form-row{grid-template-columns:1fr}.tl-heading input{width:100%}.tl-drawer>header{flex-wrap:wrap}.tl-drawer>header>div{flex-basis:45%}.tl-player{height:220px;max-height:220px}.tl-player video{max-height:240px}.tl-job{margin:10px}.tl-job-open{flex-basis:100%}}
.tl-drawer>header h2{color:#fff}.tl-drawer>header .ghost{background:transparent;border-color:#577082;color:#fff}.tl-form input[type=range],.tl-form input[type=checkbox],.tl-schedule input{accent-color:#0c9ca5}.tl-drawer>header{flex-direction:row;text-align:left}
.tl-gear{border:1px solid #c6e6e8;background:#e3f4f5;color:#0a8189;font-weight:700;font-size:12.5px;border-radius:8px;padding:6px 12px;cursor:pointer}
.tl-next{font-size:12px;color:#6a8091}
.tl-next b{color:#0a8189}
.tl-sched{margin:12px 16px;border:1px solid #e2eaef;border-radius:10px;background:#fbfdfd}
.tl-sched-grid{display:grid;grid-template-columns:1fr 1fr}
.tl-sched-cell{padding:14px 16px;border-bottom:1px solid #e2eaef}
.tl-sched-cell:nth-child(odd){border-right:1px solid #e2eaef}
.tl-sched-cell:nth-child(n+3){border-bottom:0}
.tl-sched-cell b{display:block;font-size:13px;color:#12334a;margin-bottom:9px}
.tl-inline{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap}
.tl-inline input,.tl-inline select{width:auto;margin:0}
.tl-sched-cell small{display:block;margin-top:8px;font-size:11.5px;color:#6b8194}
.tl-sched-foot{display:flex;justify-content:flex-end;gap:10px;padding:10px 14px}
@media(max-width:650px){.tl-sched-grid{grid-template-columns:1fr}.tl-sched-cell:nth-child(odd){border-right:0}}

/* ── Card redesign v3 (pills + cards) ── */
.tl-pills{display:flex;gap:8px;flex-wrap:wrap}
.tl-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 14px;font-size:12.5px;font-weight:600;color:#3d5266;cursor:pointer}
.tl-pill:hover{border-color:#0bb3bf;color:#0d929c}
.tl-pill.on{background:#0d929c;border-color:#0d929c;color:#fff}
.tl-pill .tl-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.tl-dot.ready{background:#00b876}.tl-dot.running{background:#2471c3}.tl-dot.queued{background:#e8a23d}.tl-dot.failed{background:#e5484d}
.tl-pill.on .tl-dot{background:#fff}
.tl-job{border-radius:12px;box-shadow:0 1px 3px rgba(13,40,59,.06);gap:14px}
.tl-thumb{position:relative;width:150px;height:84px;flex-shrink:0;border:0;border-radius:9px;overflow:hidden;background:linear-gradient(155deg,#0d1d2b,#1c3a52 70%,#31607f);cursor:pointer;padding:0}
.tl-thumb:disabled{cursor:default}
.tl-thumb-chip{position:absolute;top:6px;left:8px;background:rgba(0,0,0,.5);color:#e8eef4;font-size:10px;padding:2px 7px;border-radius:4px;font-weight:600}
.tl-thumb-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-style:normal}
.tl-thumb-play svg{width:26px;height:26px;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}
.tl-thumb:disabled .tl-thumb-play{opacity:.35}
.tl-job-body{flex:1;min-width:170px}
.tl-job-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tl-job-top strong{font-size:14.5px}
.tl-status{font-size:11px;font-weight:700;border-radius:6px;padding:3px 10px}
.tl-status.ready{color:#00895e;background:rgba(0,178,118,.1)}
.tl-status.failed{color:#c52a4c;background:rgba(197,42,76,.1)}
.tl-status.running{color:#2471c3;background:rgba(36,113,195,.1)}
.tl-status.queued{color:#94650a;background:rgba(232,162,61,.15)}
.tl-job-acts{display:flex;gap:8px;align-items:center;flex-shrink:0;margin-left:auto}
.tl-job p{width:auto}
@media(max-width:650px){.tl-thumb{width:110px;height:62px}}

/* ── Admin delete ── */
.tl-del{color:#c52a4c!important;border-color:rgba(197,42,76,.45)!important}
.tl-del:hover{background:rgba(197,42,76,.06)!important}
