    /* Bulk Bar */
    .bulk-bar {
      display: none;
      position: fixed;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--card-bg);
      border: 1px solid var(--accent);
      border-radius: 12px;
      padding: 12px 20px;
      box-shadow: 0 8px 32px rgba(0,0,0,0.4);
      z-index: 100;
      align-items: center;
      gap: 16px;
    }
    .bulk-bar.visible { display: flex; }
    .bulk-bar .count { font-size: 14px; font-weight: 500; }
    .bulk-bar .actions { display: flex; gap: 8px; }

    /* Progress Bar for Bulk Operations */
    .operation-progress {
      position: fixed;
      top: 0;
      left: var(--sidebar-width);
      right: 0;
      height: 3px;
      background: var(--border);
      z-index: 200;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s;
    }
    .operation-progress.visible { opacity: 1; pointer-events: auto; }
    .operation-progress .bar {
      height: 100%;
      background: linear-gradient(90deg, var(--accent), var(--green));
      width: 0%;
      transition: width 0.3s ease-out;
    }

    .operation-status {
      position: fixed;
      top: 8px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--card-bg);
      border: 1px solid var(--border);
      padding: 8px 16px;
      border-radius: 20px;
      font-size: 12px;
      display: flex;
      align-items: center;
      gap: 10px;
      z-index: 201;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s, transform 0.3s;
      box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    }
    .operation-status.visible {
      opacity: 1;
      pointer-events: auto;
    }
    .operation-status .spinner {
      width: 12px;
      height: 12px;
      border-width: 2px;
    }
    .operation-status .progress-text {
      color: var(--text);
    }
    .operation-status .progress-count {
      color: var(--accent);
      font-weight: 600;
    }
    .operation-status .cancel-btn {
      background: none;
      border: none;
      color: var(--text-dim);
      cursor: pointer;
      padding: 2px 6px;
      margin-left: 4px;
      border-radius: 4px;
    }
    .operation-status .cancel-btn:hover {
      background: var(--red);
      color: #fff;
    }

    /* Filter Mode Indicator */
    .filter-mode-indicator {
      position: fixed;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--bg-elevated);
      border: 1px solid var(--accent);
      border-radius: 8px;
      padding: 12px 20px;
      display: none;
      align-items: center;
      gap: 12px;
      font-size: 13px;
      color: var(--text);
      box-shadow: 0 4px 20px rgba(0,0,0,0.4);
      z-index: 10000;
      animation: slideUp 0.15s ease-out;
    }
    .filter-mode-indicator span { color: var(--accent); font-weight: 600; }
    .filter-mode-indicator kbd {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: 4px;
      padding: 2px 6px;
      font-family: monospace;
      font-size: 12px;
      color: var(--yellow);
    }
    @keyframes slideUp {
      from { transform: translateX(-50%) translateY(20px); opacity: 0; }
      to { transform: translateX(-50%) translateY(0); opacity: 1; }
    }

    /* Select All Button */
    .select-all-btn {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 4px 8px;
      background: transparent;
      border: 1px solid var(--border);
      border-radius: 4px;
      color: var(--text-dim);
      font-size: 11px;
      cursor: pointer;
      transition: all 0.1s;
    }
    .select-all-btn:hover {
      border-color: var(--accent);
      color: var(--text);
    }
    .select-all-btn.active {
      background: var(--accent);
      border-color: var(--accent);
      color: #000;
    }

    /* Focused item in list (keyboard navigation) */
    .result-item.focused,
    .watchlist-table-row.focused,
    .queue-item.focused,
    .gen-result-item.focused {
      outline: 2px solid var(--accent);
      outline-offset: -2px;
      background: rgba(106,178,242,0.1);
    }
    /* Show actions on focused item */
    .result-item.focused .actions { opacity: 1 !important; }

    /* Over Limit Warning Banner */
    .over-limit-banner {
      display: flex;
      align-items: center;
      background: linear-gradient(90deg, rgba(239, 68, 68, 0.15), rgba(239, 68, 68, 0.05));
      border: 1px solid rgba(239, 68, 68, 0.3);
      border-radius: 8px;
      padding: 12px 16px;
      margin-bottom: 12px;
    }
    .over-limit-content {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
      width: 100%;
    }
    .over-limit-icon {
      font-size: 20px;
      flex-shrink: 0;
    }
    .over-limit-text {
      flex: 1;
      font-size: 13px;
      color: var(--text);
      min-width: 200px;
    }
    .over-limit-text strong {
      color: var(--red);
    }
    .over-limit-banner .btn {
      flex-shrink: 0;
    }
