/* ============ 订阅编排 ============ */
.sl-toolbar{flex-wrap:wrap;gap:8px}
.sl-select{height:36px;padding:0 10px;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--card);color:var(--text)}
.sl-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2);user-select:none}
.sl-check input{accent-color:var(--blue-600)}
.sl-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 10px;padding:8px 12px;background:var(--card);border:1px solid var(--border);border-radius:var(--r);font-size:12px;color:var(--text-2)}
.sl-user{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.sl-user select{height:30px;padding:0 8px;border:1px solid var(--border-2);border-radius:6px;background:var(--card);color:var(--text)}
.sl-dirty{color:var(--warn);font-weight:600}
.sl-banner,.sl-stale{margin-bottom:10px;padding:10px 14px;border-radius:var(--r);font-size:13px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sl-banner{background:var(--blue-50);border:1px solid var(--blue-200);color:var(--blue-700)}
.sl-stale{background:var(--danger-bg);border:1px solid #f8caca;color:#a92c2c}
.sl-stale b{font-weight:700}
.sl-table td{vertical-align:middle}
.sl-table .sl-name{width:100%;min-width:160px;height:32px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text)}
.sl-table .sl-name:hover{border-color:var(--border-2);background:var(--card)}
.sl-table .sl-name:focus{border-color:var(--blue-400);background:var(--card);box-shadow:0 0 0 3px rgba(59,147,247,.12)}
.sl-table .sl-name.changed{color:var(--blue-700);font-weight:600}
.sl-table .sl-name.invalid{border-color:var(--danger);background:var(--danger-bg)}
.sl-row{cursor:grab}
.sl-row.dragging{opacity:.45}
.sl-row.hidden-row{background:var(--warn-bg)}
.sl-row.hidden-row .sl-name{color:var(--muted);text-decoration:line-through}
.sl-handle{color:var(--muted);font-size:15px;letter-spacing:-2px;user-select:none}
.sl-orig{color:var(--text-2);font-size:12px;word-break:break-all}
.sl-src{font-size:12px;color:var(--text-2)}
.sl-status{font-size:12px;font-weight:600}
.sl-status.ok{color:var(--ok)}
.sl-status.renamed{color:var(--blue-600)}
.sl-status.hidden{color:var(--warn)}
.sl-status.stale{color:var(--danger)}
.sl-table .row-actions{gap:2px}
.sl-table .act{padding:2px 5px;font-size:12px}
.sl-groups{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.sl-group-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;box-shadow:var(--shadow-sm)}
.sl-group-name{font-weight:700;font-size:13px;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.sl-group-name .badge{font-weight:500}
.sl-chips{display:flex;flex-wrap:wrap;gap:5px;max-height:180px;overflow:auto}
.sl-chip{font-size:11px;padding:2px 7px;border-radius:10px;background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-100);white-space:nowrap}
.sl-chip.fixed{background:var(--warn-bg);color:#9a6200;border-color:#f3dfb8}
.sl-tip{margin-top:12px;font-size:12px;color:var(--muted)}
.sl-modal-list{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto}
.sl-hist-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--card)}
.sl-hist-row .sl-hist-main{flex:1;min-width:0}
.sl-hist-row .sl-hist-time{font-size:12px;color:var(--text-2)}
.sl-hist-row .sl-hist-sum{font-size:12px;color:var(--muted);word-break:break-all}
.sl-prev-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sl-prev-col{border:1px solid var(--border);border-radius:var(--r);padding:10px;background:var(--card);max-height:62vh;overflow:auto}
.sl-prev-col h4{font-size:13px;margin-bottom:8px;position:sticky;top:0;background:var(--card);padding:2px 0}
.sl-prev-item{font-size:12px;padding:5px 0;border-bottom:1px dashed var(--border);line-height:1.45}
.sl-prev-item:last-child{border-bottom:none}
.sl-prev-item .n{color:var(--muted);display:inline-block;min-width:26px}
.sl-prev-item .g{color:var(--muted);font-size:11px}
.sl-stale-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--card);font-size:12px;flex-wrap:wrap}
.sl-stale-item code{font-size:11px;color:var(--danger);word-break:break-all}
.sl-stale-item select{height:30px;max-width:220px;border:1px solid var(--border-2);border-radius:6px;padding:0 6px;background:var(--card);color:var(--text)}
#modal.sl-wide{width:min(980px,94vw);max-width:none}
@media(max-width:900px){.sl-prev-grid{grid-template-columns:1fr}.sl-user{margin-left:0}}
