:root{--bg:#f4f6f8;--panel:#fff;--panel2:#f5f7fa;--line:#e7eaee;--text:#0f172a;--muted:#64748b;--red:#dc2626;--red-dim:#f1b0b0;--ok:#16a34a}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:14px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--red)}.wrap{max-width:1100px;margin:0 auto;padding:24px 20px 80px}header.top{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.brand{font-size:22px;font-weight:800;letter-spacing:1px}.brand .cur{color:var(--red)}.sub{color:var(--muted)}.bar{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:rgba(244,246,248,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:16px}.btn{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:10px;padding:8px 13px;cursor:pointer;font-weight:600;box-shadow:0 1px 2px rgba(16,24,40,.03)}.btn:hover{border-color:#cbd5e1}.btn.red{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 1px 3px rgba(220,38,38,.22)}.btn.red:hover{border-color:var(--red);filter:brightness(1.05)}.btn:disabled{opacity:.5;cursor:not-allowed}.warn{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:10px 14px;border-radius:10px;margin-bottom:16px}.shot{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px;display:grid;grid-template-columns:200px 1fr;grid-gap:14px;gap:14px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.shot h3{margin:0 0 6px;font-size:15px}.shot .id{color:var(--red);font-weight:800}.shot .fname{color:var(--muted);font-weight:400;font-size:12px}.thumb{width:100%;aspect-ratio:16/9;background:var(--panel2);border:1px dashed var(--line);border-radius:8px;object-fit:cover;display:block}label.file{display:block;margin-top:8px;font-size:12px;color:var(--muted)}textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:inherit;resize:vertical}input,select,textarea{color:var(--text)}.field{margin-bottom:8px}.field .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:3px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status{font-size:12px;padding:2px 8px;border-radius:20px;border:1px solid var(--line)}.status.ok{color:var(--ok);border-color:var(--ok)}.status.run{color:#b45309;border-color:#f59e0b}.status.err{color:var(--red);border-color:var(--red)}.media{margin-top:8px;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}audio,video{max-width:260px;border-radius:8px}.err{color:#dc2626;font-size:12px;margin-top:6px}.count{color:var(--muted);margin-left:auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:20px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.card h2{margin:0 0 4px;font-size:17px}.card .bar{background:transparent;position:static;border:none;padding:6px 0 12px;margin:0}.muted{color:var(--muted);margin:2px 0 10px}.card>textarea{min-height:90px}label.dur{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}label.dur input{width:52px}label.dur input,label.dur select{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:4px 6px;font:inherit}.epcard{transition:opacity .15s}.epcard:hover{opacity:1!important}.cal-slot:hover{background:#eff4ff}@keyframes root-spin{to{transform:rotate(1turn)}}