/* 脱敏面板。沿用 index.html 的配色变量。 */
#chatView { flex:1; display:flex; flex-direction:column; min-height:0; }
#chatView[hidden], #san[hidden] { display:none; }
#san { flex:1; overflow:auto; padding:0 0 40px; }
.san-bar { position:sticky; top:0; z-index:2; display:flex; gap:10px; align-items:center; padding:12px 20px; background:var(--panel); border-bottom:1px solid var(--border); flex-wrap:wrap; }
.san-bar b { font-size:15px; }
.san-bar select { min-width:200px; height:36px; padding:6px 8px; }
.san-msg { font-size:13px; padding:2px 8px; border-radius:6px; }
.san-msg.ok { color:#7ee2a0; } .san-msg.err { color:#f99; background:var(--err); } .san-msg.busy { color:var(--accent); }
.san-body { max-width:1000px; margin:0 auto; padding:0 20px; }
.san-sec { margin:20px 0; background:var(--panel); border:1px solid var(--border); border-radius:10px; padding:14px 16px; }
.san-sec h2 { margin:0 0 4px; font-size:15px; }
.san-sec .hint { color:var(--muted); font-size:12.5px; margin:0 0 10px; line-height:1.6; }
.san-empty { text-align:center; color:var(--muted); padding:60px 20px; line-height:2; }
.san-row { display:flex; gap:8px; align-items:center; margin:6px 0; }
.san-row select, .san-row input[type=text] { background:var(--bg); color:var(--fg); border:1px solid var(--border); border-radius:6px; padding:6px 8px; font:inherit; height:34px; min-width:0; }
.san-row input[type=text] { flex:1; }
.san-row select { min-width:90px; }
button.sm { padding:4px 10px; font-size:12.5px; }
button.danger { background:#c0504d; color:#fff; }
button:disabled { opacity:.45; cursor:not-allowed; }
.san-sec textarea { width:100%; min-height:70px; background:var(--bg); color:var(--fg); border:1px solid var(--border); border-radius:6px; padding:8px; font:inherit; resize:vertical; }
.san-checks { display:flex; gap:16px; flex-wrap:wrap; margin:8px 0; color:var(--muted); font-size:13px; }
.san-checks label { display:flex; gap:6px; align-items:center; cursor:pointer; }
.san-drop { border:2px dashed var(--border); border-radius:10px; padding:26px; text-align:center; color:var(--muted); cursor:pointer; }
.san-drop.over { border-color:var(--accent); color:var(--accent); background:#1a2233; }
.san-files { margin:10px 0; }
.san-files label { display:flex; gap:8px; align-items:center; padding:3px 0; font-size:13px; }
.badge { display:inline-block; padding:1px 8px; border-radius:10px; font-size:12px; font-weight:600; }
.badge.ok { background:#1d3b2a; color:#7ee2a0; } .badge.review { background:#3d3319; color:#f2c36b; }
.badge.blocked, .badge.error { background:#442222; color:#f99; } .badge.done { background:#223049; color:var(--accent); }
.card { border:1px solid var(--border); border-radius:8px; padding:10px 12px; margin:10px 0; background:var(--bg); }
.card .top { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.card .names { font-size:13px; word-break:break-all; }
.chips { display:flex; gap:6px; flex-wrap:wrap; margin:6px 0; }
.chip { background:#232838; border-radius:6px; padding:1px 8px; font-size:12px; color:var(--muted); }
.card ul { margin:6px 0; padding-left:20px; font-size:12.5px; line-height:1.6; }
.card li.warn { color:#f2c36b; } .card li.dim { color:var(--muted); } .card li.bad { color:#f99; }
.card pre { background:#0b0d11; border:1px solid var(--border); border-radius:6px; padding:8px; max-height:200px; overflow:auto; white-space:pre-wrap; font-size:12.5px; }
.release { margin-top:14px; padding-top:12px; border-top:1px solid var(--border); }
.dl { display:flex; gap:8px; align-items:center; padding:4px 0; font-size:13px; }
.dl .sz { color:var(--muted); font-size:12px; flex:1; }
.release > label { display:flex; gap:8px; align-items:center; padding:3px 0; font-size:13px; }
progress { height:10px; border-radius:5px; accent-color:var(--accent); }
#jobBox { margin-top:10px; }
