.hours-modal[data-v-8a31e5f7]{max-width:640px}.field-label[data-v-8a31e5f7]{font-size:.82rem;color:#888}.mode-switch[data-v-8a31e5f7]{display:flex;gap:8px}.mode-switch button[data-v-8a31e5f7]{flex:1;background:transparent;border:1px solid #444;color:#aaa;border-radius:6px;padding:8px;cursor:pointer}.mode-switch button.active[data-v-8a31e5f7]{border-color:#4a90e2;color:#fff;background:#1f3a5f}.presets[data-v-8a31e5f7]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.hours-unrestricted[data-v-8a31e5f7]{font-size:.85rem;color:#aaa;margin:0}.hours-editor[data-v-8a31e5f7]{display:flex;flex-direction:column;gap:8px}.hours-day[data-v-8a31e5f7]{display:flex;align-items:flex-start;gap:8px;font-size:.85rem}.hours-day-name[data-v-8a31e5f7]{width:140px;flex-shrink:0;color:#ccc;padding-top:6px;display:flex;align-items:center;gap:6px}.hours-day-name input[data-v-8a31e5f7]{width:auto}.hours-day-intervals[data-v-8a31e5f7]{flex:1;display:flex;flex-direction:column;gap:4px}.hours-day-actions[data-v-8a31e5f7]{display:flex;gap:6px;flex-wrap:wrap}.hours-interval[data-v-8a31e5f7]{display:flex;align-items:center;gap:6px}.hours-off[data-v-8a31e5f7]{color:#777;padding-top:6px}.hours-overnight[data-v-8a31e5f7]{font-size:.72rem;color:#e0a040}.hours-btn[data-v-8a31e5f7]{font-size:.75rem;padding:2px 8px;background:transparent;border:1px solid #444;border-radius:4px;color:#aaa;cursor:pointer;width:auto}.hours-btn[data-v-8a31e5f7]:hover{border-color:#888;color:#eee}.summary[data-v-8a31e5f7]{font-size:.82rem;color:#bbb;background:#1a1a2e;border-radius:8px;padding:8px 12px}.summary pre[data-v-8a31e5f7]{margin:4px 0 0;font-family:inherit;white-space:pre-wrap}.yt-search[data-v-ba8b20a6]{display:flex;flex-direction:column;gap:10px}.yt-search-bar[data-v-ba8b20a6]{display:flex;gap:8px}.yt-input[data-v-ba8b20a6]{flex:1;padding:8px 10px;border-radius:6px;border:1px solid #333;background:#1a1a2e;color:#eee;font-size:.95rem;outline:none}.yt-input[data-v-ba8b20a6]:focus{border-color:#e53935}.yt-btn[data-v-ba8b20a6]{padding:8px 16px;border-radius:6px;border:none;background:#e53935;color:#fff;cursor:pointer;font-size:.9rem;white-space:nowrap}.yt-btn[data-v-ba8b20a6]:disabled{opacity:.5;cursor:not-allowed}.yt-btn.primary[data-v-ba8b20a6]{background:#4caf50}.yt-btn.primary[data-v-ba8b20a6]:disabled{opacity:.5}.yt-error[data-v-ba8b20a6]{color:#f88;font-size:.85rem}.yt-results[data-v-ba8b20a6]{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.yt-result-item[data-v-ba8b20a6]{display:flex;gap:10px;padding:8px;border-radius:8px;border:1px solid #333;cursor:pointer;background:#16213e;transition:border-color .15s}.yt-result-item[data-v-ba8b20a6]:hover{border-color:#e53935}.yt-result-item.selected[data-v-ba8b20a6]{border-color:#e53935;background:#2a1010}.yt-thumb[data-v-ba8b20a6]{width:80px;height:45px;object-fit:cover;border-radius:4px;flex-shrink:0}.yt-result-info[data-v-ba8b20a6]{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0}.yt-result-title[data-v-ba8b20a6]{font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yt-result-meta[data-v-ba8b20a6]{font-size:.78rem;color:#888}.yt-link[data-v-ba8b20a6]{color:#e53935;text-decoration:none}.yt-link[data-v-ba8b20a6]:hover{text-decoration:underline}.yt-selected[data-v-ba8b20a6]{background:#16213e;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}.yt-selected-header[data-v-ba8b20a6]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.yt-selected-title[data-v-ba8b20a6]{font-size:.9rem;font-weight:600;flex:1;min-width:0}.yt-badge[data-v-ba8b20a6]{padding:2px 10px;border-radius:12px;font-size:.78rem;font-weight:700;white-space:nowrap}.yt-badge.loading[data-v-ba8b20a6]{background:#333;color:#aaa}.yt-badge.has-lyrics[data-v-ba8b20a6]{background:#0d3a0d;color:#a5d6a7}.yt-badge.no-lyrics[data-v-ba8b20a6]{background:#2a1a00;color:#ffd54f}.yt-download-form[data-v-ba8b20a6]{display:flex;flex-direction:column;gap:8px}.yt-lyrics-label[data-v-ba8b20a6]{font-size:.82rem;color:#888}.yt-lyrics-textarea[data-v-ba8b20a6]{padding:8px;border-radius:6px;border:1px solid #333;background:#1a1a2e;color:#eee;font-family:monospace;font-size:.88rem;resize:vertical;min-height:120px;width:100%;outline:none}.yt-lyrics-textarea[data-v-ba8b20a6]:focus{border-color:#e53935}@media (max-width: 480px){.yt-results[data-v-ba8b20a6]{flex-direction:column}.yt-result-item[data-v-ba8b20a6]{flex-direction:row;align-items:flex-start}.yt-thumb[data-v-ba8b20a6]{width:80px;height:auto;flex-shrink:0}.yt-download-form[data-v-ba8b20a6]{padding:8px 0}.yt-lyrics-textarea[data-v-ba8b20a6]{min-height:150px;font-size:16px}}.pl-import[data-v-a4549ae2]{display:flex;flex-direction:column;gap:10px}.pl-url-bar[data-v-a4549ae2]{display:flex;gap:8px}.pl-header[data-v-a4549ae2]{display:flex;align-items:center;justify-content:space-between;gap:10px}.pl-summary[data-v-a4549ae2]{font-size:.85rem;color:#aaa}.pl-select-btns[data-v-a4549ae2]{display:flex;gap:6px;flex-wrap:wrap}.pl-items[data-v-a4549ae2]{display:flex;flex-direction:column;gap:4px;max-height:400px;overflow-y:auto}.pl-item[data-v-a4549ae2]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;border:1px solid #333;background:#16213e}.pl-item.no-lyrics[data-v-a4549ae2]{opacity:.5}.pl-item-info[data-v-a4549ae2]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.pl-item-title[data-v-a4549ae2]{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-item-channel[data-v-a4549ae2]{font-size:.75rem;color:#888}.pl-item-dur[data-v-a4549ae2]{font-size:.78rem;color:#888;white-space:nowrap}.pl-form[data-v-a4549ae2]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pl-parallel-label[data-v-a4549ae2]{font-size:.85rem;display:flex;align-items:center;gap:4px}.pl-list[data-v-a4549ae2],.pl-progress[data-v-a4549ae2]{display:flex;flex-direction:column;gap:10px}.pl-progress-bar[data-v-a4549ae2]{height:8px;background:#333;border-radius:4px;overflow:hidden}.pl-progress-fill[data-v-a4549ae2]{height:100%;background:#4caf50;transition:width .3s;border-radius:4px}.pl-progress-text[data-v-a4549ae2]{font-size:.82rem;color:#aaa}.pl-status-icon[data-v-a4549ae2]{width:20px;text-align:center;flex-shrink:0}.pl-item-status[data-v-a4549ae2]{font-size:.75rem;white-space:nowrap;padding:2px 8px;border-radius:10px}.pl-item-status.pending[data-v-a4549ae2]{color:#888}.pl-item-status.downloading[data-v-a4549ae2],.pl-item-status.fetching_lyrics[data-v-a4549ae2]{color:#64b5f6}.pl-item-status.submitted[data-v-a4549ae2]{color:#ffd54f}.pl-item-status.done[data-v-a4549ae2]{color:#a5d6a7}.pl-item-status.failed[data-v-a4549ae2]{color:#f88}.pl-item-status.skipped[data-v-a4549ae2]{color:#ffd54f}.pl-status-badge[data-v-a4549ae2]{padding:2px 10px;border-radius:12px;font-size:.78rem;font-weight:700}.pl-status-badge.processing[data-v-a4549ae2]{background:#2a1a00;color:#ffd54f}.pl-status-badge.done[data-v-a4549ae2]{background:#0d3a0d;color:#a5d6a7}.yt-input[data-v-a4549ae2]{flex:1;padding:8px 10px;border-radius:6px;border:1px solid #333;background:#1a1a2e;color:#eee;font-size:.95rem;outline:none}.yt-input[data-v-a4549ae2]:focus{border-color:#e53935}.yt-btn[data-v-a4549ae2]{padding:8px 16px;border-radius:6px;border:none;background:#e53935;color:#fff;cursor:pointer;font-size:.9rem;white-space:nowrap}.yt-btn[data-v-a4549ae2]:disabled{opacity:.5;cursor:not-allowed}.yt-btn.primary[data-v-a4549ae2]{background:#4caf50}.yt-btn.primary[data-v-a4549ae2]:disabled{opacity:.5}.yt-error[data-v-a4549ae2]{color:#f88;font-size:.85rem}.yt-badge[data-v-a4549ae2]{padding:2px 10px;border-radius:12px;font-size:.78rem;font-weight:700;white-space:nowrap}@media (max-width: 480px){.pl-url-bar[data-v-a4549ae2]{flex-direction:column}.pl-url-bar .yt-input[data-v-a4549ae2]{width:100%}.pl-select-btns[data-v-a4549ae2]{flex-direction:column}.pl-select-btns .yt-btn[data-v-a4549ae2]{width:100%}.pl-item[data-v-a4549ae2]{flex-wrap:wrap;gap:6px}.pl-item-info[data-v-a4549ae2]{min-width:0}.pl-form[data-v-a4549ae2]{flex-direction:column;align-items:flex-start}.yt-input[data-v-a4549ae2]{font-size:16px}}.yt-badge.has-lyrics[data-v-a4549ae2]{background:#0d3a0d;color:#a5d6a7}.yt-badge.no-lyrics[data-v-a4549ae2]{background:#2a1a00;color:#ffd54f}.yt-badge.source-badge[data-v-a4549ae2]{background:#1a2a4a;color:#8ab4f8}.totp-box[data-v-9b6df341]{max-width:360px;text-align:center}.totp-hint[data-v-9b6df341]{font-size:.9rem;color:#aaa;margin:0}.totp-loading[data-v-9b6df341]{padding:24px 0;color:#aaa}.totp-qr[data-v-9b6df341]{align-self:center;background:#fff;padding:8px;border-radius:8px}.totp-secret[data-v-9b6df341]{font-size:.85rem;color:#aaa;word-break:break-all}.totp-secret-label[data-v-9b6df341]{margin-right:6px}.totp-cancel[data-v-9b6df341]{background:transparent;border:none;color:#888;cursor:pointer;font-size:.85rem;padding:4px}.totp-box[data-v-80329912]{max-width:360px;text-align:center}.totp-cancel[data-v-80329912]{background:transparent;border:none;color:#888;cursor:pointer;font-size:.85rem;padding:4px}.pagination[data-v-502a8db5]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0}.pagination-info[data-v-502a8db5]{font-size:.85rem;color:#888;white-space:nowrap}.pagination-controls[data-v-502a8db5]{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pagination-nav-btn[data-v-502a8db5],.pagination-num-btn[data-v-502a8db5]{min-width:36px;min-height:36px;padding:4px 8px;border-radius:6px;border:1px solid #444;background:#1a2a4a;color:#ccc;cursor:pointer;font-size:.85rem}.pagination-nav-btn[data-v-502a8db5]:hover:not(:disabled),.pagination-num-btn[data-v-502a8db5]:hover:not(:disabled){border-color:#666;color:#eee}.pagination-nav-btn[data-v-502a8db5]:disabled,.pagination-num-btn[data-v-502a8db5]:disabled{opacity:.4;cursor:not-allowed}.pagination-num-btn.active[data-v-502a8db5]{background:#0f3460;border-color:#0f3460;color:#eee;font-weight:600}.pagination-ellipsis[data-v-502a8db5]{padding:0 4px;color:#666;font-size:.85rem}.pagination-extra[data-v-502a8db5]{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.pagination-limit-label[data-v-502a8db5],.pagination-goto-label[data-v-502a8db5]{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:#aaa}.pagination-limit-select[data-v-502a8db5]{padding:4px 8px;border-radius:6px;border:1px solid #444;background:#1a2a4a;color:#ccc;font-size:16px;min-height:36px;cursor:pointer}.pagination-limit-select[data-v-502a8db5]:hover{border-color:#666}.pagination-limit-select[data-v-502a8db5]:focus{outline:none;border-color:#4a90d9}.pagination-goto-input[data-v-502a8db5]{width:64px;padding:4px 8px;border-radius:6px;border:1px solid #444;background:#1a2a4a;color:#eee;font-size:16px;min-height:36px}.pagination-goto-input[data-v-502a8db5]:focus{outline:none;border-color:#4a90d9}.sm-root[data-v-051aa7fb]{display:flex;flex-direction:column;gap:14px}.sm-header[data-v-051aa7fb]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sm-title[data-v-051aa7fb]{margin:0;font-size:1.1rem}.sm-status[data-v-051aa7fb]{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#aaa}.sm-dot[data-v-051aa7fb]{font-size:.9rem}.sm-dot.live[data-v-051aa7fb]{color:#4caf50}.sm-dot.reconnecting[data-v-051aa7fb]{color:#ffd54f}.sm-dot.connecting[data-v-051aa7fb],.sm-updated[data-v-051aa7fb]{color:#888}.sm-empty[data-v-051aa7fb]{color:#888;padding:24px 0;text-align:center}.sm-grid[data-v-051aa7fb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.sm-card[data-v-051aa7fb]{background:#16213e;border:1px solid #2a2a4a;border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.sm-card h4[data-v-051aa7fb]{margin:0 0 4px;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#aaa}.sm-card-wide[data-v-051aa7fb]{grid-column:1 / -1}.sm-nodata[data-v-051aa7fb]{color:#666;font-size:.85rem}.sm-rows[data-v-051aa7fb]{display:flex;flex-direction:column;gap:4px}.sm-row[data-v-051aa7fb]{display:flex;align-items:center;justify-content:space-between;font-size:.85rem}.sm-row span[data-v-051aa7fb]{color:#999}.sm-row b[data-v-051aa7fb]{color:#eee;font-weight:600}.sm-subhead[data-v-051aa7fb]{font-size:.78rem;color:#888;margin-top:4px}.sm-ws-clients[data-v-051aa7fb]{display:flex;gap:8px;flex-wrap:wrap}.sm-ws-chip[data-v-051aa7fb]{display:flex;gap:6px;align-items:center;background:#1a1a2e;border:1px solid #333;border-radius:6px;padding:3px 10px;font-size:.8rem;color:#aaa}.sm-ws-chip b[data-v-051aa7fb]{color:#eee}.sm-cpu-big[data-v-051aa7fb]{font-size:2rem;font-weight:700;color:#64b5f6;line-height:1}.sm-cpu-big .sm-unit[data-v-051aa7fb]{font-size:1.1rem;color:#888;margin-left:2px}.sm-spark[data-v-051aa7fb]{width:100%;height:40px;display:block}.sm-spark-small[data-v-051aa7fb]{height:24px}.sm-cores[data-v-051aa7fb]{display:flex;flex-direction:column;gap:2px;max-height:140px;overflow-y:auto}.sm-core-row[data-v-051aa7fb]{display:flex;align-items:center;gap:6px;font-size:.72rem}.sm-core-label[data-v-051aa7fb]{width:20px;color:#777;text-align:right}.sm-core-bar-track[data-v-051aa7fb]{flex:1;height:6px;border-radius:3px;background:#1a1a2e;overflow:hidden}.sm-core-bar-fill[data-v-051aa7fb]{height:100%;background:#64b5f6}.sm-core-pct[data-v-051aa7fb]{width:34px;text-align:right;color:#999}.sm-load[data-v-051aa7fb]{font-size:.85rem;color:#aaa}.sm-warn-text[data-v-051aa7fb]{color:#ffd54f}.sm-mem[data-v-051aa7fb]{display:flex;flex-direction:column;gap:6px}.sm-mem-bar[data-v-051aa7fb]{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#1a1a2e}.sm-mem-used[data-v-051aa7fb]{background:#e53935}.sm-mem-cache[data-v-051aa7fb]{background:#64b5f6}.sm-mem-free[data-v-051aa7fb]{background:#333}.sm-legend[data-v-051aa7fb]{display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem;color:#aaa}.sm-legend-item[data-v-051aa7fb]{display:flex;align-items:center;gap:5px}.sm-legend-item i[data-v-051aa7fb]{width:9px;height:9px;border-radius:2px;display:inline-block}.sm-dot-used[data-v-051aa7fb]{background:#e53935}.sm-dot-cache[data-v-051aa7fb]{background:#64b5f6}.sm-dot-free[data-v-051aa7fb]{background:#333}.sm-total-line[data-v-051aa7fb],.sm-swap-line[data-v-051aa7fb]{font-size:.78rem;color:#888}.sm-net-list[data-v-051aa7fb]{display:flex;flex-direction:column;gap:12px}.sm-net-item[data-v-051aa7fb]{display:flex;flex-direction:column;gap:4px}.sm-net-head[data-v-051aa7fb]{display:flex;align-items:center;gap:10px;font-size:.85rem}.sm-net-head b[data-v-051aa7fb]{color:#eee}.sm-net-rate[data-v-051aa7fb]{color:#aaa}.sm-net-totals[data-v-051aa7fb]{font-size:.75rem;color:#777}.sm-fs-list[data-v-051aa7fb]{display:flex;flex-direction:column;gap:10px}.sm-fs-item[data-v-051aa7fb]{display:flex;flex-direction:column;gap:4px}.sm-fs-head[data-v-051aa7fb]{display:flex;align-items:baseline;gap:8px;font-size:.85rem}.sm-fs-head b[data-v-051aa7fb]{color:#eee}.sm-fs-path[data-v-051aa7fb]{color:#777;font-size:.75rem}.sm-fs-bar-track[data-v-051aa7fb]{height:8px;border-radius:4px;background:#1a1a2e;overflow:hidden}.sm-fs-bar-fill[data-v-051aa7fb]{height:100%}.sm-fs-ok[data-v-051aa7fb]{background:#4caf50}.sm-fs-warn[data-v-051aa7fb]{background:#ffd54f}.sm-fs-crit[data-v-051aa7fb]{background:#f44}.sm-fs-nums[data-v-051aa7fb]{display:flex;justify-content:space-between;font-size:.78rem;color:#999}.sm-fs-free[data-v-051aa7fb]{color:#777}.sm-disk-list[data-v-051aa7fb]{display:flex;flex-direction:column;gap:10px}.sm-disk-item[data-v-051aa7fb]{display:flex;flex-direction:column;gap:4px}.sm-disk-head[data-v-051aa7fb]{display:flex;align-items:center;justify-content:space-between;font-size:.85rem}.sm-disk-head b[data-v-051aa7fb]{color:#eee}.sm-disk-nums[data-v-051aa7fb]{display:flex;flex-direction:column;gap:2px;font-size:.78rem;color:#999}.sm-lib-table[data-v-051aa7fb]{width:100%;border-collapse:collapse;font-size:.85rem}.sm-lib-table th[data-v-051aa7fb]{text-align:left;padding:6px 10px;color:#aaa;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #2a2a4a}.sm-lib-table td[data-v-051aa7fb]{padding:6px 10px;border-bottom:1px solid #1e1e3a;color:#ddd}.sm-lib-total td[data-v-051aa7fb]{font-weight:700;color:#eee;border-top:1px solid #333;border-bottom:none}.sm-lib-updated[data-v-051aa7fb]{font-size:.75rem;color:#777;margin-top:6px}@media (max-width: 700px){.sm-grid[data-v-051aa7fb]{grid-template-columns:1fr}}.trials[data-v-840fcf92]{padding:0 4px}.section-header[data-v-840fcf92]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.hint[data-v-840fcf92]{color:#999;font-size:.85rem;margin:0 0 12px}.err[data-v-840fcf92]{color:#f88}.empty[data-v-840fcf92]{color:#888;padding:24px 0}.table-wrap[data-v-840fcf92]{overflow-x:auto}.trials-table[data-v-840fcf92]{width:100%;border-collapse:collapse;min-width:760px}.trials-table th[data-v-840fcf92],.trials-table td[data-v-840fcf92]{padding:10px 12px;text-align:left;border-bottom:1px solid #333;vertical-align:top}.trials-table th[data-v-840fcf92]{background:#16213e}.name[data-v-840fcf92]{font-weight:600}.sub[data-v-840fcf92]{color:#777;font-size:.75rem}.warn[data-v-840fcf92]{color:#f0a050;font-weight:600}.badge[data-v-840fcf92]{padding:2px 8px;border-radius:10px;font-size:.8rem;background:#333}.badge.st-active[data-v-840fcf92]{background:#1d4d2b;color:#8fe0a5}.badge.st-expired[data-v-840fcf92]{background:#4d3d1d;color:#e0c58f}.badge.st-blocked[data-v-840fcf92]{background:#4d1d1d;color:#e08f8f}.actions[data-v-840fcf92]{display:flex;flex-wrap:wrap;gap:6px}.actions button[data-v-840fcf92]{padding:4px 10px;font-size:.8rem}.actions .danger[data-v-840fcf92]{background:#7a2a2a}.leads-header[data-v-840fcf92]{margin-top:32px}.badge.ls-lead[data-v-840fcf92]{background:#4d3d1d;color:#e0c58f}.badge.ls-email_sent[data-v-840fcf92]{background:#1d3a4d;color:#8fc5e0}.badge.ls-confirmed[data-v-840fcf92]{background:#1d4d2b;color:#8fe0a5}.client-errors[data-v-53518688]{padding:0 4px}.section-header[data-v-53518688]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px}.header-actions[data-v-53518688]{display:flex;align-items:center;gap:12px}.auto-label[data-v-53518688]{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:#aaa}.hint[data-v-53518688]{color:#999;font-size:.85rem;margin:0 0 12px}.filters[data-v-53518688]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filters select[data-v-53518688],.filters input[data-v-53518688]{padding:6px 10px;border-radius:6px;border:1px solid #444;background:#1a2a4a;color:#eee;font-size:16px;min-height:36px}.filters input[data-v-53518688]{flex:1;min-width:200px}.err[data-v-53518688]{color:#f88}.empty[data-v-53518688]{color:#888;padding:24px 0}.table-wrap[data-v-53518688]{overflow-x:auto}.errors-table[data-v-53518688]{width:100%;border-collapse:collapse;min-width:760px}.errors-table th[data-v-53518688],.errors-table td[data-v-53518688]{padding:8px 12px;text-align:left;border-bottom:1px solid #333;vertical-align:top}.errors-table th[data-v-53518688]{background:#16213e}.row[data-v-53518688]{cursor:pointer}.row[data-v-53518688]:hover,.row.open[data-v-53518688]{background:#1a2a4a}.nowrap[data-v-53518688]{white-space:nowrap}.sub[data-v-53518688]{color:#777;font-size:.75rem}.msg[data-v-53518688]{word-break:break-word;max-width:520px}.badge[data-v-53518688]{padding:2px 8px;border-radius:10px;font-size:.8rem;background:#333}.badge.k-js_global[data-v-53518688],.badge.k-render[data-v-53518688]{background:#4d1d1d;color:#e08f8f}.badge.k-promise[data-v-53518688]{background:#4d3d1d;color:#e0c58f}.badge.k-api[data-v-53518688],.badge.k-ws[data-v-53518688]{background:#1d3a4d;color:#8fc5e0}.badge.k-auth[data-v-53518688]{background:#3d1d4d;color:#c58fe0}.details td[data-v-53518688]{background:#10182e}.meta[data-v-53518688]{display:flex;flex-wrap:wrap;gap:16px;color:#999;font-size:.8rem;margin-bottom:6px}.label[data-v-53518688]{color:#888;font-size:.75rem;margin-top:8px}pre[data-v-53518688]{margin:4px 0 0;padding:8px;background:#0b1020;border-radius:6px;font-size:.8rem;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto}.abuse-tab[data-v-7d1cded7]{padding:0 4px}.section-header[data-v-7d1cded7]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px}.note[data-v-7d1cded7]{background:#2a2410;border:1px solid #5a4a14;color:#e0c58f;border-radius:6px;padding:8px 12px;font-size:.85rem;margin:0 0 12px}.err[data-v-7d1cded7]{color:#f88}.alerts-panel[data-v-7d1cded7]{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 12px;padding:8px 12px;background:#16213e;border-radius:6px}.alerts-toggle[data-v-7d1cded7]{display:flex;align-items:center;gap:8px;cursor:pointer}.alerts-state.on[data-v-7d1cded7]{color:#6c6}.alerts-state.off[data-v-7d1cded7]{color:#aaa}.empty[data-v-7d1cded7]{color:#888;padding:24px 0}.empty.small[data-v-7d1cded7]{padding:8px 0;font-size:.85rem}.table-wrap[data-v-7d1cded7]{overflow-x:auto}.abuse-table[data-v-7d1cded7]{width:100%;border-collapse:collapse;min-width:640px}.abuse-table th[data-v-7d1cded7],.abuse-table td[data-v-7d1cded7]{padding:8px 12px;text-align:left;border-bottom:1px solid #333;vertical-align:top}.abuse-table th[data-v-7d1cded7]{background:#16213e}.row[data-v-7d1cded7]{cursor:pointer}.row[data-v-7d1cded7]:hover,.row.open[data-v-7d1cded7]{background:#1a2a4a}.nowrap[data-v-7d1cded7]{white-space:nowrap}.sub[data-v-7d1cded7]{color:#777;font-size:.75rem}.lvl[data-v-7d1cded7]{padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:600;cursor:help}.lvl-low[data-v-7d1cded7]{background:#0d3a0d;color:#a5d6a7}.lvl-medium[data-v-7d1cded7]{background:#4a3a00;color:#ffd54f}.lvl-high[data-v-7d1cded7]{background:#4a1a1a;color:#f88}.details>td[data-v-7d1cded7]{background:#10182e}.label[data-v-7d1cded7]{color:#888;font-size:.75rem;margin:4px 0}.factors[data-v-7d1cded7]{width:100%;border-collapse:collapse;font-size:.85rem}.factors th[data-v-7d1cded7],.factors td[data-v-7d1cded7]{padding:4px 8px;text-align:left;border-bottom:1px solid #222}.factors th[data-v-7d1cded7]{color:#888;font-weight:400}.detail[data-v-7d1cded7]{color:#aaa;word-break:break-word}.bar[data-v-7d1cded7]{display:inline-block;width:80px;height:8px;background:#0b1020;border-radius:4px;vertical-align:middle;margin-right:6px;overflow:hidden}.bar-fill[data-v-7d1cded7]{display:block;height:100%;background:#e0a030}.hist-head[data-v-7d1cded7]{display:flex;align-items:center;gap:12px;margin-top:12px}.hist-head select[data-v-7d1cded7]{padding:4px 8px;border-radius:6px;border:1px solid #444;background:#1a2a4a;color:#eee;font-size:16px}.chart-wrap[data-v-7d1cded7]{position:relative}.chart[data-v-7d1cded7]{width:100%;height:180px;background:#0b1020;border-radius:6px}.grid[data-v-7d1cded7]{stroke:#222;stroke-width:1}.axis[data-v-7d1cded7]{fill:#777;font-size:9px}.line[data-v-7d1cded7]{fill:none;stroke:#e0a030;stroke-width:2;vector-effect:non-scaling-stroke}.dot[data-v-7d1cded7]{fill:#e0a030;cursor:pointer}.tip[data-v-7d1cded7]{margin-top:4px;font-size:.8rem;color:#ccc}.midi-editor[data-v-1443087a]{background:#1c1c22;color:#eee;width:min(1000px,96vw);max-height:92vh;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:10px;outline:none}.me-head[data-v-1443087a]{display:flex;justify-content:space-between;align-items:center}.me-head h3[data-v-1443087a]{margin:0;font-size:1.05rem}.me-bar[data-v-1443087a],.me-midi[data-v-1443087a]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.me-time[data-v-1443087a]{font-variant-numeric:tabular-nums}.me-mode[data-v-1443087a]{font-weight:600;color:#ffd33d}.me-note[data-v-1443087a]{font-size:.8rem;opacity:.7}.me-learn[data-v-1443087a]{font-size:.78rem}.me-learn.learning[data-v-1443087a]{outline:2px solid #ffd33d}.me-words[data-v-1443087a]{overflow-y:auto;flex:1;min-height:260px;padding:8px;background:#111;border-radius:8px;font-size:1.15rem;line-height:2}.me-line[data-v-1443087a]{display:flex;flex-wrap:wrap;gap:6px}.me-word[data-v-1443087a]{padding:0 3px;border-radius:4px;cursor:pointer;color:#9aa}.me-word.sung[data-v-1443087a]{color:#ffd33d}.me-word.fixed[data-v-1443087a]{text-decoration:underline;text-decoration-color:#4caf50}.me-word.cursor[data-v-1443087a]{background:#3a3a1a;outline:1px solid #ffd33d}.error[data-v-1443087a]{color:#ff6b6b}.gpu-settings[data-v-eaeb0a6c]{margin-bottom:24px}.gpu-panel[data-v-eaeb0a6c]{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:8px 0;padding:8px 12px;background:#16213e;border-radius:6px}.gpu-field[data-v-eaeb0a6c]{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:#888}.gpu-field select[data-v-eaeb0a6c]{padding:8px;border-radius:6px;border:1px solid #333;background:#1a1a2e;color:#eee}.err[data-v-eaeb0a6c]{color:#f88}.ok[data-v-eaeb0a6c]{color:#6c6}.sub[data-v-eaeb0a6c]{color:#777;font-size:.75rem}.ann[data-v-3eb04bca]{padding:0 4px}.section-header[data-v-3eb04bca]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px;flex-wrap:wrap}.header-actions[data-v-3eb04bca]{display:flex;gap:8px}.hint[data-v-3eb04bca]{color:#999;font-size:.85rem;margin:0 0 12px}.hint.small[data-v-3eb04bca]{margin:4px 0 12px;font-size:.78rem}.err[data-v-3eb04bca]{color:#f88}.empty[data-v-3eb04bca]{color:#888;padding:24px 0}.table-wrap[data-v-3eb04bca]{overflow-x:auto}.ann-table[data-v-3eb04bca]{width:100%;border-collapse:collapse;min-width:760px}.ann-table th[data-v-3eb04bca],.ann-table td[data-v-3eb04bca]{padding:10px 12px;text-align:left;border-bottom:1px solid #333;vertical-align:top}.ann-table th[data-v-3eb04bca]{background:#16213e}.name[data-v-3eb04bca]{font-weight:600}.sub[data-v-3eb04bca]{color:#888;font-size:.8rem;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge[data-v-3eb04bca]{padding:2px 8px;border-radius:10px;font-size:.8rem;background:#333}.badge.st-active[data-v-3eb04bca]{background:#1d4d2b;color:#8fe0a5}.badge.st-scheduled[data-v-3eb04bca]{background:#1d3a4d;color:#8fc5e0}.badge.st-expired[data-v-3eb04bca]{background:#4d3d1d;color:#e0c58f}.badge.st-disabled[data-v-3eb04bca]{background:#444;color:#aaa}.badge.sev-warning[data-v-3eb04bca]{background:#4d3d1d;color:#e0c58f;margin-top:4px;display:inline-block}.actions[data-v-3eb04bca]{display:flex;flex-wrap:wrap;gap:6px}.actions button[data-v-3eb04bca]{padding:4px 10px;font-size:.8rem}.actions .danger[data-v-3eb04bca]{background:#7a2a2a}.modal-overlay[data-v-3eb04bca]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:24px 12px;z-index:100}.ann-modal[data-v-3eb04bca]{background:#1a1a2e;border:1px solid #333;border-radius:8px;padding:16px 20px;width:100%;max-width:640px}.modal-head[data-v-3eb04bca]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.modal-head h3[data-v-3eb04bca]{margin:0}.close[data-v-3eb04bca]{background:transparent;border:none;color:#aaa;cursor:pointer;font-size:1rem}.grid2[data-v-3eb04bca]{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 600px){.grid2[data-v-3eb04bca]{grid-template-columns:1fr}}label[data-v-3eb04bca]{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#bbb}label.check[data-v-3eb04bca]{flex-direction:row;align-items:center;gap:6px}input[type=text][data-v-3eb04bca],input[type=url][data-v-3eb04bca],input[type=datetime-local][data-v-3eb04bca],select[data-v-3eb04bca],textarea[data-v-3eb04bca]{width:100%;box-sizing:border-box;padding:6px 8px;background:#0f0f1e;color:#eee;border:1px solid #444;border-radius:4px;font:inherit}textarea[data-v-3eb04bca]{resize:vertical;margin-top:6px}.lang-block[data-v-3eb04bca]{margin:12px 0}.lang-title[data-v-3eb04bca]{font-size:.85rem;color:#bbb;margin-bottom:4px}.req[data-v-3eb04bca]{color:#f0a050}.preview-wrap[data-v-3eb04bca]{margin-top:14px}.preview-head[data-v-3eb04bca]{font-size:.85rem;color:#bbb;margin-bottom:6px;display:flex;align-items:center;gap:8px}.lang-select[data-v-3eb04bca]{width:auto}.banner[data-v-3eb04bca]{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;border-left:4px solid}.banner-info[data-v-3eb04bca]{background:#1d3a4d;border-color:#5aa9d6;color:#d8ecf7}.banner-warning[data-v-3eb04bca]{background:#4d3d1d;border-color:#e0a030;color:#f7e7c8}.banner-title[data-v-3eb04bca]{font-weight:600}.banner-text[data-v-3eb04bca]{font-size:.9rem;margin-top:2px;white-space:pre-wrap}.banner-link[data-v-3eb04bca]{display:inline-block;margin-top:6px;padding:3px 10px;border:1px solid currentColor;border-radius:12px;font-size:.8rem}.banner-close[data-v-3eb04bca]{opacity:.7}.modal-foot[data-v-3eb04bca]{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.opt-root[data-v-3d66f8b3]{margin-top:24px;padding:16px;border:1px solid #333;border-radius:8px}.opt-header[data-v-3d66f8b3]{display:flex;align-items:center;justify-content:space-between;gap:12px}.opt-header h4[data-v-3d66f8b3]{margin:0}.opt-hint[data-v-3d66f8b3]{margin:8px 0 16px;font-size:.9em;opacity:.8}.opt-empty[data-v-3d66f8b3]{opacity:.7;font-style:italic}.opt-form[data-v-3d66f8b3]{display:flex;flex-direction:column;gap:12px;max-width:480px}.opt-field[data-v-3d66f8b3]{display:flex;flex-direction:column;gap:4px}.opt-field select[data-v-3d66f8b3],.opt-field input[data-v-3d66f8b3]{padding:6px 8px}.opt-refresh-btn[data-v-3d66f8b3],.opt-send-btn[data-v-3d66f8b3]{align-self:flex-start;padding:6px 14px}.opt-result[data-v-3d66f8b3]{padding:8px 12px;border-radius:6px}.opt-ok[data-v-3d66f8b3]{background:#4caf5026}.opt-warn[data-v-3d66f8b3]{background:#ff980026}.ck-status-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#16213e;border-radius:8px;margin-top:12px;margin-bottom:4px;gap:12px}.ck-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ck-badge{padding:2px 10px;border-radius:12px;font-size:.78rem;font-weight:700;white-space:nowrap}.ck-badge.ok{background:#0d3a0d;color:#a5d6a7}.ck-badge.error{background:#4a1a1a;color:#f88}.ck-badge.warn{background:#2a1a00;color:#ffd54f}.ck-badge.unknown{background:#333;color:#aaa}.ck-time{font-size:.8rem;color:#aaa}.ck-error{font-size:.78rem;color:#f88}.ck-btn{font-size:.8rem;padding:4px 12px;background:#0f3460;color:#eee;border:none;border-radius:6px;cursor:pointer;white-space:nowrap}.ck-btn:disabled{opacity:.5;cursor:not-allowed}*{box-sizing:border-box;margin:0;padding:0}body{font-family:sans-serif;background:#1a1a2e;color:#eee}.app{max-width:1100px;margin:0 auto;padding:16px}header{display:flex;align-items:center;gap:24px;padding:16px 0;border-bottom:1px solid #333;margin-bottom:16px;flex-wrap:wrap}header h1{font-size:1.8rem}nav{display:flex;gap:8px;flex:1}nav button{padding:8px 16px;border-radius:8px;border:1px solid #333;background:transparent;color:#eee;cursor:pointer}nav button.active{background:#0f3460;border-color:#0f3460}.logout-btn{padding:8px 16px;border-radius:8px;border:1px solid #555;background:transparent;color:#aaa;cursor:pointer}.settings-btn{padding:6px 10px;border-radius:8px;border:1px solid #555;background:transparent;color:#aaa;cursor:pointer;font-size:1rem}.settings-btn:hover{color:#eee;border-color:#888}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#16213e;border-radius:12px;padding:0;min-width:320px;max-width:480px;width:90%;max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #333;flex-shrink:0}.modal-header h2{font-size:1.1rem}.close-btn{background:transparent;border:none;color:#aaa;font-size:1.2rem;cursor:pointer;padding:4px 8px}.close-btn:hover{color:#eee}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.setting-row{display:flex;flex-direction:column;gap:6px}.setting-row label{font-size:.85rem;color:#aaa}.setting-row input{padding:8px 12px;border-radius:8px;border:1px solid #333;background:#0d0d1a;color:#eee;font-size:.95rem;outline:none}.setting-row input:focus{border-color:#0f3460}.catalog-stats-row{margin-bottom:12px;color:#aaa;font-size:.9rem}.catalog-actions{display:flex;gap:8px;flex-wrap:wrap}.catalog-actions .save-btn{padding:8px 14px;font-size:.85rem}.lyrics-preview{background:#0d1a2e;color:#ccc;padding:10px;border-radius:6px;font-size:.8rem;max-height:300px;overflow-y:auto;white-space:pre-wrap;margin-top:6px}.save-btn{padding:10px;border-radius:8px;border:none;background:#0f3460;color:#eee;cursor:pointer;font-size:1rem}.save-btn:hover{background:#1a4a80}.nuke-sw-btn{padding:8px 14px;border-radius:8px;border:1px solid #555;background:transparent;color:#aaa;cursor:pointer;font-size:.9rem}.nuke-sw-btn:hover{border-color:#888;color:#eee}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header button{padding:8px 16px;border-radius:8px;border:none;background:#0f3460;color:#eee;cursor:pointer}.search-wrap{margin-bottom:10px}.search-input{width:100%;padding:10px 14px;border-radius:8px;border:1px solid #333;background:#16213e;color:#eee;font-size:16px;outline:none}.search-input:focus{border-color:#0f3460}.search-placeholder,.track-count{color:#888;font-size:.9rem;margin-bottom:12px}.upload-form{display:flex;flex-direction:column;gap:8px;background:#16213e;padding:16px;border-radius:8px;margin-bottom:16px}.upload-form input,.upload-form select{padding:8px;border-radius:6px;border:1px solid #333;background:#1a1a2e;color:#eee}.upload-form button{align-self:flex-start;padding:8px 16px;border-radius:6px;border:none;background:#4caf50;color:#fff;cursor:pointer}.upload-form button:disabled{opacity:.45;cursor:not-allowed}.lyrics-label{font-size:.82rem;color:#888;margin-top:4px}.lyrics-textarea{padding:8px;border-radius:6px;border:1px solid #333;background:#1a1a2e;color:#eee;font-family:monospace;font-size:.9rem;resize:vertical;min-height:140px}.warn{color:#ffd54f;font-size:.85rem}.tracks-table{width:100%;border-collapse:collapse}.tracks-table th,.tracks-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #333}.tracks-table th{background:#16213e}.tracks-table select{background:#1a1a2e;color:#eee;border:1px solid #333;border-radius:4px;padding:4px 8px}.venue-card{background:#16213e;border-radius:8px;padding:12px 16px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px}.venue-card code{font-size:.8rem;color:#aaa}.venue-card-main{display:flex;gap:12px;align-items:center}.venue-device-info,.venue-wg-info{display:flex;align-items:center;gap:8px;font-size:.82rem;padding-left:2px}.venue-wg-info--offline{opacity:.6}.log-forwarding-row{display:flex;align-items:center;gap:8px;font-size:.82rem;padding-left:2px}.log-dl-btn{color:#a5d6a7;background:#1a3a1e}.log-dl-btn:hover{background:#225222}.log-clear-btn{font-size:.75rem;padding:2px 8px;background:#4a1a1a;border:none;border-radius:4px;color:#f48fb1;cursor:pointer}.log-clear-btn:hover{background:#6a2a2a}.wg-label{font-size:.72rem;font-weight:600;color:#7ba7d4;letter-spacing:.05em}.wg-active-badge{color:#4caf50;font-size:.8rem}.wg-active-badge--offline{color:#9e9e9e}.wg-activate-btn{font-size:.75rem;padding:2px 8px;background:#1a4a6e;border:none;border-radius:4px;color:#90caf9;cursor:pointer}.wg-activate-btn:hover{background:#1e5c8a}.wg-activate-btn:disabled{background:#2a2a2a;color:#777;cursor:not-allowed}.wg-activate-btn:disabled:hover{background:#2a2a2a}.venue-edit-btn{font-size:.75rem;padding:2px 8px;background:transparent;border:1px solid #444;border-radius:4px;color:#aaa;cursor:pointer}.abuse-badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px;cursor:help;white-space:nowrap}.abuse-badge.abuse-low{background:#0d3a0d;color:#a5d6a7}.abuse-badge.abuse-medium{background:#4a3a00;color:#ffd54f}.abuse-badge.abuse-high{background:#4a1a1a;color:#f88}.hours-badge{font-size:.72rem;padding:2px 8px;border-radius:10px;background:#1f3a5f;color:#8ec5ff;cursor:help;white-space:nowrap}.venue-edit-btn:hover{border-color:#888;color:#eee}.wg-proxy-panel{background:#13213a;border:1px solid #1e3a5f;border-radius:10px;padding:12px 16px;margin-bottom:16px}.wg-proxy-header{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.wg-proxy-title{font-size:.82rem;font-weight:600;color:#7ba7d4;letter-spacing:.06em;text-transform:uppercase}.wg-mode-badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px}.wg-mode-badge.wg-mode-auto{background:#0d3a0d;color:#a5d6a7}.wg-mode-badge.wg-mode-off{background:#4a1a1a;color:#f88}.wg-auto-btn{margin-left:auto;font-size:.75rem;padding:3px 10px;background:#0f3460;border:none;border-radius:4px;color:#90caf9;cursor:pointer}.wg-auto-btn:hover{background:#1a4a80}.wg-auto-btn:disabled{opacity:.5;cursor:not-allowed}.wg-deactivate-all-btn{font-size:.75rem;padding:3px 10px;background:#4a1a1a;border:none;border-radius:4px;color:#f48fb1;cursor:pointer}.wg-deactivate-all-btn:hover{background:#6a2a2a}.wg-deactivate-all-btn:disabled{opacity:.5;cursor:not-allowed;background:#4a1a1a}.wg-status-line{font-size:.82rem;color:#ccc;margin-bottom:10px}.wg-status-line .wg-socks-url{margin-left:8px}.wg-peer-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:.83rem;border-top:1px solid #1e3a5f;flex-wrap:wrap}.wg-socks-url{font-size:.72rem;color:#607d8b;margin-left:auto}.wg-venue-name{color:#ccc;min-width:80px}.wg-ip{font-size:.78rem;color:#90caf9}.device-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-online{background:#4caf50}.dot-stale{background:#888}.dot-offline{background:#555}.device-version{color:#90caf9;font-family:monospace}.device-lastseen{color:#888}.device-kernel{color:#666;font-size:.75rem;font-family:monospace}.device-update-badge{padding:1px 6px;border-radius:4px;background:#1a3a00;color:#a5d6a7;font-size:.75rem;border:1px solid #4caf50}.device-none{color:#555;font-style:italic;font-size:.8rem}.loading{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;padding:32px}.role-badge{padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:700}.user-venue-tag{margin-left:6px;padding:1px 7px;border-radius:10px;font-size:.75rem;background:#1a3a5e;color:#90caf9}.role-badge.admin{background:#4a0d5e;color:#ce93d8}.role-badge.manager{background:#0d3a4a;color:#80cbc4}.role-badge.operator{background:#0d4a1e;color:#a5d6a7}.role-badge.editor{background:#4a2900;color:#ffcc80}.status-badge{padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:700}.status-badge.pending{background:#1a1a2e;color:#aaa;border:1px solid #333}.status-badge.done{background:#0d3a4a;color:#80cbc4}.status-badge.approved{background:#0d4a1e;color:#a5d6a7}.status-badge.rejected{background:#4a0d0d;color:#ef9a9a}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}.toggle-label{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;cursor:pointer;color:#aaa}.backend-selector{display:flex;gap:12px;font-size:.9rem;align-items:center}.backend-selector label{display:flex;align-items:center;gap:4px;cursor:pointer}.backend-selector input:disabled+span,.backend-selector label:has(input:disabled){opacity:.4;cursor:not-allowed}.form-label{font-size:.82rem;color:#888}.del-btn{padding:4px 10px;border-radius:6px;border:none;background:#7c1a1a;color:#f88;cursor:pointer;font-size:.85rem}.edit-btn{padding:4px 8px;border-radius:6px;border:none;background:#1a3a6a;color:#90caf9;cursor:pointer;font-size:.85rem;margin-right:4px}.edit-btn:hover{background:#1e4a8a}.save-track-btn{padding:4px 10px;border-radius:6px;border:none;background:#1a4a1e;color:#a5d6a7;cursor:pointer;font-size:.85rem;margin-right:4px}.save-track-btn:hover{background:#225222}.cancel-btn{padding:4px 10px;border-radius:6px;border:none;background:#333;color:#aaa;cursor:pointer;font-size:.85rem}.cancel-btn:hover{background:#444}.inline-input{padding:4px 8px;border-radius:6px;border:1px solid #333;background:#1a1a2e;color:#eee;font-size:.9rem;width:100%;min-width:120px}.actions-cell{white-space:nowrap}.retry-btn{margin-left:8px;padding:2px 8px;border-radius:6px;border:none;background:#4a3000;color:#ffd54f;cursor:pointer;font-size:.8rem}.retry-btn:hover{background:#6a4400}.history-btn{margin-left:4px;padding:2px 6px;border-radius:6px;border:none;background:transparent;color:#aaa;cursor:pointer;font-size:.85rem}.history-btn:hover{color:#eee}.lyrics-btn{margin-left:4px;padding:2px 6px;border-radius:6px;border:none;background:transparent;color:#aaa;cursor:pointer;font-size:.85rem}.lyrics-btn:hover{color:#eee}.quality-btn{margin-left:2px;padding:2px 6px;border-radius:6px;border:none;background:transparent;color:#aaa;cursor:pointer;font-size:.85rem}.quality-btn:hover{color:#eee}.etalon-package-btn{margin-left:2px;padding:2px 6px;border-radius:6px;border:none;background:transparent;color:#aaa;cursor:pointer;font-size:.85rem}.etalon-package-btn:hover{color:#eee}.clip-btn{margin-left:2px;padding:2px 6px;border-radius:6px;border:1px solid #555;background:transparent;color:#aaa;cursor:pointer;font-size:.85rem}.clip-btn:hover,.clip-btn.has-clip{border-color:#4caf50;color:#4caf50}.clip-btn.clip-processing{border-color:#7ec8e3;color:#7ec8e3;cursor:default;animation:clip-spin 1s linear infinite}.clip-btn.clip-failed{border-color:#f66;color:#f66}@keyframes clip-spin{to{transform:rotate(360deg)}}.yt-source-link{color:#7ec8e3;font-size:1.1rem;text-decoration:none;flex-shrink:0}.yt-source-link:hover{color:#fff}.quality-modal{max-width:760px;width:95vw}.quality-scroll{max-height:80vh;overflow-y:auto}.quality-report{font-size:.9rem}.quality-title{font-weight:600;margin-bottom:10px}.quality-columns{display:flex;gap:16px;flex-wrap:wrap}.quality-col{flex:1;min-width:200px}.quality-section-header{margin:12px 0 6px;font-size:.9rem}.quality-table{width:100%;border-collapse:collapse;margin-bottom:4px}.quality-table td,.quality-table th{padding:4px 8px;border-bottom:1px solid #333}.quality-table td:first-child{color:#999;white-space:nowrap}.quality-table td:last-child{text-align:right}.quality-table code{font-size:.8rem;background:#222;padding:2px 4px;border-radius:3px;word-break:break-all}.quality-warn td,.quality-warn th{color:#f59e0b}.quality-ok td{color:#10b981}.quality-secondary td{color:#666;font-size:.82rem}.quality-secondary.quality-warn td{color:#f59e0b}.not-in-composite{font-size:.72rem;color:#555;font-style:italic;margin-left:4px}.ctc-badge{display:inline-block;background:#1d4ed8;color:#93c5fd;font-size:.7rem;font-weight:700;padding:1px 5px;border-radius:4px;margin-left:5px;vertical-align:middle;letter-spacing:.04em}.ctc-recovered-badge{font-size:.75rem;color:#10b981;font-weight:600}.ctc-skipped{color:#555;font-size:.8rem;font-style:italic}.quality-issues ul{margin:0;padding-left:20px}.quality-issues li{color:#f59e0b;font-size:.85rem;margin-bottom:2px}.quality-truncation-notice{color:#f59e0b;font-size:.8rem;margin:4px 0 8px;font-style:italic}.section-table th{text-align:left;padding:4px 8px;color:#888;font-weight:500;font-size:.8rem;border-bottom:1px solid #444}.section-table td{font-size:.85rem}.push-test-card{background:#16213e;border-radius:10px;padding:20px;max-width:560px}.push-test-card h3{margin-bottom:14px;font-size:1rem}.push-test-fields{display:flex;gap:8px;flex-wrap:wrap}.push-test-input{flex:1;min-width:160px;padding:8px 12px;border-radius:8px;border:1px solid #333;background:#1a1a2e;color:#eee;font-size:.9rem}.push-test-btn{padding:8px 18px;border-radius:8px;border:none;background:#e94560;color:#fff;cursor:pointer;font-size:.9rem;white-space:nowrap}.push-test-btn:hover:not(:disabled){background:#c73652}.push-test-btn:disabled{opacity:.5;cursor:default}.push-test-result{margin-top:12px;font-size:.85rem;color:#aaa}.push-test-result--error{color:#f88}.section-text{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ccc!important;text-align:left!important}.quality-mid td{color:#eab308}.line-details-table th{text-align:left;padding:4px 8px;color:#888;font-weight:500;font-size:.8rem;border-bottom:1px solid #444}.line-details-table td{font-size:.82rem;vertical-align:top}.line-ref-text{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ccc!important;text-align:left!important}.line-issues-cell{text-align:left!important;display:flex;flex-wrap:wrap;gap:3px}.line-issue-tag{display:inline-block;padding:1px 5px;border-radius:3px;font-size:.75rem;cursor:help}.line-issue-tag small{opacity:.7;margin-left:2px}.issue-unmatched,.issue-zero_duration{background:#4a1a1a;color:#ef4444}.issue-too_short{background:#4a3000;color:#fbbf24}.issue-too_long{background:#1a2a4a;color:#60a5fa}.issue-overlap_next{background:#3a1a3a;color:#c084fc}.issue-dropped{background:#3a2a1a;color:#ffd54f}.issue-legacy-source{background:#1a3a2a;color:#34d399}.quality-dropped td{color:#aaa;opacity:.75}.line-status-unmatched{color:#ef4444;font-weight:600}.line-status-dropped_upstream{color:#ffd54f;font-weight:600}.line-status-matched{color:#888}.score-cell{text-align:center;white-space:nowrap}.score-good{color:#10b981;font-weight:600}.score-mid{color:#eab308;font-weight:600}.score-bad{color:#ef4444;font-weight:600}.quality-band{display:inline-block;margin-right:4px;font-size:.9rem;cursor:help}.quality-band.band-excellent{opacity:1}.quality-band.band-good{opacity:.85}.quality-band.band-acceptable,.quality-band.band-needs_review,.quality-band.band-broken{opacity:1}.defect-badge{display:inline-block;margin-right:4px;padding:1px 6px;border-radius:4px;font-size:.82rem;cursor:pointer}.defect-badge.defect-unscanned{color:#777;background:transparent;cursor:pointer}.defect-badge.defect-clean{color:#6b8f6b;background:transparent;opacity:.8}.defect-badge.defect-flagged{color:#ffb74d;background:#4a2f10;font-weight:600}.dropped-pill{display:inline-block;margin-left:4px;padding:1px 5px;border-radius:4px;background:#4a1a1a;color:#ef9a9a;font-size:.68rem;cursor:help}.dropped-pill.partial{background:#3a2a1a;color:#ffd54f}.quality-toggle{display:inline-flex;align-items:center;gap:4px;margin-left:12px;font-size:.82rem;color:#aaa;cursor:pointer;-webkit-user-select:none;user-select:none}.quality-toggle input{cursor:pointer}.sort-select{margin-left:10px;padding:4px 8px;border-radius:6px;border:1px solid #444;background:#1a2a4a;color:#ccc;font-size:.82rem;cursor:pointer}.sort-select:hover{border-color:#666}.sort-select:focus{outline:none;border-color:#4a90d9}.reprocess-btn{padding:4px 12px;border-radius:6px;border:none;background:#4a1a7a;color:#ce93d8;cursor:pointer;font-size:.85rem}.reprocess-btn:hover{background:#6a2a9a}.reprocess-btn:disabled{opacity:.45;cursor:not-allowed}.full-reprocess-btn{background:#4a1a1a;color:#ef9a9a}.full-reprocess-btn:hover{background:#6a2a2a}.job-history-item{padding:8px 10px;border-radius:8px;background:#1a2540;border-left:3px solid #444}.job-failed{border-left-color:#e53935}.job-done{border-left-color:#43a047}.job-processing{border-left-color:#ffd54f}.job-history-row{display:flex;align-items:center;gap:8px;font-size:.8rem}.job-status-icon{font-size:1rem}.job-id{color:#aaa;font-family:monospace;font-size:.72rem;flex:1;overflow:hidden;text-overflow:ellipsis}.job-date{color:#888;white-space:nowrap;font-size:.75rem}.job-progress{margin-top:6px;padding:6px 8px;background:#0d1a2e;border-radius:4px;color:#7ec8e3;font-size:.78rem;font-family:monospace;word-break:break-all;white-space:pre-wrap}.job-error{margin-top:6px;padding:6px 8px;background:#2a1010;border-radius:4px;color:#ff8a80;font-size:.78rem;font-family:monospace;word-break:break-all;white-space:pre-wrap}.job-log-btn{display:inline-block;font-size:.72rem;color:#7ec8e3;padding:2px 8px;border:1px solid #2a4a6a;border-radius:4px;background:#0d1a2e;cursor:pointer}.job-log-btn:hover{background:#1a2f4a}.status-cell{white-space:nowrap}.assign-cell{display:flex;align-items:center;gap:6px}.assign-btn{padding:4px 10px;border-radius:6px;border:none;background:#0f3460;color:#eee;cursor:pointer;font-size:.85rem;white-space:nowrap}.login-wrap{display:flex;justify-content:center;align-items:center;min-height:100vh}.login-box{background:#16213e;padding:32px;border-radius:12px;display:flex;flex-direction:column;gap:16px;min-width:320px}.login-box h1{text-align:center;font-size:1.6rem}.login-box form{display:flex;flex-direction:column;gap:10px}.login-box input{padding:10px;border-radius:8px;border:1px solid #333;background:#1a1a2e;color:#eee;font-size:1rem}.login-box button{padding:10px;border-radius:8px;border:none;background:#0f3460;color:#eee;cursor:pointer;font-size:1rem}.error{color:#f88;font-size:.9rem}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#1e4d2b;color:#a5d6a7;padding:12px 24px;border-radius:10px;font-size:1rem;box-shadow:0 4px 16px #0006;z-index:1000;pointer-events:none}.toast-enter-active,.toast-leave-active{transition:opacity .25s,transform .25s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(12px)}.hamburger-btn{display:none;background:none;border:none;color:#eee;cursor:pointer;padding:8px;border-radius:6px;align-items:center;justify-content:center;touch-action:manipulation}.nav-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex}.nav-drawer{width:260px;max-width:80vw;background:#16213e;height:100%;display:flex;flex-direction:column;overflow-y:auto}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #333;font-weight:600;font-size:1rem}.nav-drawer-close{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.2rem;padding:4px 8px}.nav-drawer button{width:100%;text-align:left;padding:14px 20px;background:none;border:none;border-bottom:1px solid #222;color:#ccc;cursor:pointer;font-size:1rem;touch-action:manipulation}.nav-drawer button.active{color:#7ec8e3;background:#7ec8e314}.nav-drawer button:hover{background:#ffffff0d}.track-card{background:#16213e;border-radius:8px;padding:12px;margin-bottom:8px;border:1px solid #2a2a4a}.track-card-main{margin-bottom:8px}.track-card-title{font-weight:600;font-size:.95rem;color:#eee;margin-bottom:2px}.track-card-artist{font-size:.82rem;color:#aaa}.track-card-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;align-items:center}.track-card-actions{display:flex;flex-wrap:wrap;gap:6px}.track-card-actions button{font-size:.8rem;padding:6px 12px;min-height:36px}.user-card{background:#16213e;border-radius:8px;padding:12px;margin-bottom:8px;border:1px solid #2a2a4a;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.user-card-avatar{width:36px;height:36px;border-radius:50%;background:#0f3460;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#eee;flex-shrink:0}.user-card-info{flex:1;min-width:0}.user-card-name{font-weight:600;font-size:.9rem;color:#eee}.user-card-meta{font-size:.8rem;color:#aaa;margin-top:2px}.user-card-actions{display:flex;gap:6px;flex-wrap:wrap;width:100%}.assignment-card{background:#16213e;border-radius:8px;padding:12px;margin-bottom:8px;border:1px solid #2a2a4a}.assignment-card-title{font-weight:600;font-size:.9rem;color:#eee;margin-bottom:4px}.assignment-card-meta{font-size:.8rem;color:#aaa;margin-bottom:8px}.assignment-card-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}@media (max-width: 768px){.hamburger-btn{display:flex}nav{display:none}.tracks-table{display:none!important}.tracks-cards,.users-cards,.assignments-cards{display:block!important}.app{max-width:100%;padding:12px}.modal-overlay{align-items:flex-end;padding:0}.modal{width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:92dvh;overflow-y:auto}.lyrics-textarea{min-height:50vh}.quality-columns{flex-direction:column}.setting-row{flex-direction:column;gap:6px}.setting-row label{min-width:unset;font-size:.85rem}.setting-row input,.setting-row select,.setting-row textarea{width:100%;font-size:16px!important}.section-header{flex-direction:column;align-items:flex-start;gap:8px}.search-input{width:100%;font-size:16px}}@media (min-width: 769px){.tracks-cards,.users-cards,.assignments-cards{display:none}.nav-drawer-overlay{display:none!important}.app:has(>header){max-width:none;display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:24px;align-items:start}.app>header{grid-column:1;position:sticky;top:0;height:calc(100vh - 32px);flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:8px;margin-bottom:0;padding:8px 12px 8px 0;border-bottom:none;border-right:1px solid #333;overflow-y:auto}.app>header h1{font-size:1.3rem;margin-bottom:8px}.app>header nav{flex-direction:column;flex:1}.app>header nav button{text-align:left}.app>main{grid-column:2;max-width:1100px;min-width:0}}.yt-admin-section{margin-top:16px;border-top:1px solid #333;padding-top:12px}.yt-admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.yt-admin-label{font-size:.78rem;color:#888;text-transform:uppercase;letter-spacing:.06em}.yt-refresh-btn{padding:4px 12px;border-radius:6px;border:1px solid #555;background:transparent;color:#aaa;cursor:pointer;font-size:.82rem}.yt-refresh-btn:hover:not(:disabled){border-color:#e53935;color:#e53935}.yt-refresh-btn:disabled{opacity:.5;cursor:default}.yt-subsection-label{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.05em;margin:8px 0 4px}.yt-admin-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid #222;background:#12192e;margin-bottom:4px}.yt-admin-item:hover{border-color:#333}.yt-admin-thumb{width:72px;height:40px;object-fit:cover;border-radius:4px;flex-shrink:0}.yt-admin-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.yt-admin-title{font-size:.88rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yt-admin-artist{font-size:.78rem;color:#888}.yt-add-btn{padding:6px 12px;border-radius:6px;border:none;background:#0f3460;color:#eee;cursor:pointer;font-size:.82rem;white-space:nowrap;flex-shrink:0}.yt-add-btn:hover{background:#1a4a80}.yt-loading{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#888;padding:8px 0}.spinner-icon{display:inline-block;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.yt-empty{font-size:.85rem;color:#555;padding:8px 0}.yt-lyrics-textarea{padding:8px;border-radius:6px;border:1px solid #333;background:#1a1a2e;color:#eee;font-family:monospace;font-size:.88rem;resize:vertical;min-height:120px;width:100%;outline:none;box-sizing:border-box}.yt-lyrics-textarea:focus{border-color:#0f3460}.yt-input{padding:8px 10px;border-radius:6px;border:1px solid #333;background:#1a1a2e;color:#eee;font-size:.95rem;outline:none;width:100%;box-sizing:border-box}.yt-input:focus{border-color:#0f3460}.stats-filters{background:#16213e;border-radius:10px;padding:20px;margin-bottom:24px;display:flex;flex-direction:column;gap:14px}.stats-filter-row{display:flex;gap:16px;flex-wrap:wrap}.stats-filter-field{display:flex;flex-direction:column;gap:4px}.stats-filter-field label{font-size:.8rem;color:#aaa;text-transform:uppercase;letter-spacing:.04em}.stats-dt-input{padding:8px 10px;border-radius:6px;border:1px solid #333;background:#1a1a2e;color:#eee;font-size:.95rem;outline:none}.stats-dt-input:focus{border-color:#0f3460}.stats-venues{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.stats-venues-label{font-size:.85rem;color:#aaa;margin-right:4px}.stats-venue-check{display:flex;align-items:center;gap:5px;font-size:.9rem;cursor:pointer;padding:4px 10px;border-radius:20px;background:#1a1a2e;border:1px solid #333}.stats-venue-check input{cursor:pointer}.stats-actions{display:flex;align-items:center;gap:12px}.stats-error{color:#e74c3c;font-size:.9rem}.stats-summary{margin-bottom:12px;font-size:.95rem;color:#aaa}.stats-summary strong{color:#eee}.stats-empty{color:#888;padding:24px 0;text-align:center}.stats-table{width:100%;border-collapse:collapse;font-size:.9rem}.stats-table th{text-align:left;padding:8px 12px;color:#aaa;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #2a2a4a}.stats-table td{padding:8px 12px;border-bottom:1px solid #1e1e3a}.stats-table tr:hover td{background:#16213e}.stats-num{color:#666;width:40px}.stats-time{color:#aaa;white-space:nowrap}.cost-report h3{margin-bottom:10px}.cost-venue-table{margin-bottom:16px}.cost-unattributed{background:#1a1a2e;border:1px dashed #444;border-radius:8px;padding:12px 16px;color:#888;margin-bottom:12px}.cost-unattributed-header{font-weight:600;color:#aaa;margin-bottom:4px}.cost-unattributed-note{font-size:.82rem;color:#777;margin-bottom:6px}.cost-unattributed-body{font-size:.9rem;color:#999}.cost-unattributed-body strong{color:#bbb}.feedback-card{background:#16213e;border-radius:8px;padding:12px 14px;margin-bottom:8px;border:1px solid #2a2a4a}.feedback-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap}.feedback-track{font-weight:600;font-size:.88rem;color:#eee}.feedback-guest{font-size:.8rem;color:#90caf9;margin-bottom:4px}.feedback-date{font-size:.78rem;color:#888;white-space:nowrap;flex-shrink:0}.feedback-text{font-size:.9rem;color:#ccc;line-height:1.5;white-space:pre-wrap;word-break:break-word}.feedback-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0}.pagination-btn{padding:6px 14px;border-radius:6px;border:1px solid #333;background:transparent;color:#aaa;cursor:pointer;font-size:.85rem}.pagination-btn:hover:not(:disabled){border-color:#888;color:#eee}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:.85rem;color:#888}.feedback-btn{margin-left:2px;padding:2px 6px;border-radius:6px;border:none;background:transparent;color:#aaa;cursor:pointer;font-size:.85rem}.feedback-btn:hover{color:#eee}.algo-outdated-badge{display:inline-block;padding:1px 6px;border-radius:4px;background:#4a2800;color:#f59e0b;font-size:.72rem;font-weight:600;cursor:default;white-space:nowrap}.algo-old-badge{display:inline-block;padding:1px 6px;border-radius:4px;background:#2a2a2a;color:#888;font-size:.72rem;font-weight:500;cursor:default;white-space:nowrap}.yt-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;color:#8ab4f8;text-decoration:none;white-space:nowrap}.yt-id:hover{text-decoration:underline}.algo-version-row{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:.82rem}.algo-version-label{color:#666}.algo-version-text{color:#888;font-family:monospace}.algo-version-outdated{color:#f59e0b;font-family:monospace}.algo-version-unknown{color:#555;font-style:italic}.quality-history-section{margin-top:16px;border-top:1px solid #2a2a4a;padding-top:10px}.quality-history-toggle{background:none;border:1px solid #333;border-radius:6px;color:#aaa;cursor:pointer;font-size:.82rem;padding:4px 12px}.quality-history-toggle:hover{border-color:#888;color:#eee}.quality-history-body{margin-top:8px}.quality-history-table{width:100%;border-collapse:collapse;font-size:.82rem}.quality-history-table th{text-align:left;padding:4px 8px;color:#666;font-weight:500;font-size:.78rem;border-bottom:1px solid #333;text-transform:uppercase;letter-spacing:.04em}.quality-history-table td{padding:5px 8px;border-bottom:1px solid #1e1e3a}.quality-history-row{cursor:pointer}.quality-history-row:hover td{background:#1a2540}.history-date{color:#888;white-space:nowrap}.history-version{font-family:monospace;color:#90caf9;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quality-history-detail{margin-top:6px}.quality-history-back{background:none;border:1px solid #333;border-radius:5px;color:#aaa;cursor:pointer;font-size:.8rem;padding:3px 10px}.quality-history-back:hover{border-color:#888;color:#eee}
